{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "view-in-github"
   },
   "source": [
    "<a href=\"https://colab.research.google.com/github/jermwatt/machine_learning_refined/blob/main/notes/3_First_order_methods/B_10_Automatic.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "vvE5rWewST21"
   },
   "source": [
    "## Appendix B. Derivatives and Automatic Differentiation"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This notebook contains interactive content from an early draft of the university textbook <a href=\"https://github.com/neonwatty/machine-learning-refined/tree/main\">\n",
    "Machine Learning Refined (2nd edition) </a>.\n",
    "\n",
    "The final draft significantly expands on this content and is available for <a href=\"https://github.com/neonwatty/machine-learning-refined/tree/main/chapter_pdfs\"> download as a PDF here</a>."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "yYQ0IciqST23"
   },
   "source": [
    "# B.10 Using the autograd / JAX Library"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "Y2WXkt_hST24",
    "outputId": "c3008c76-f61b-452f-ec0a-569e67cc1bd6"
   },
   "outputs": [],
   "source": [
    "# import standard libs\n",
    "import os\n",
    "\n",
    "# if on collab pull required subdirectories\n",
    "if os.getenv(\"COLAB_RELEASE_TAG\"): \n",
    "    # install github clone - allows for easy cloning of subdirectories\n",
    "    !pip install github-clone\n",
    "    from pathlib import Path \n",
    "\n",
    "    # clone library subdirectory\n",
    "    if not Path('chapter_3_library').is_dir():\n",
    "        !ghclone https://github.com/neonwatty/machine-learning-refined-notes-assets/tree/main/notes/3_First_order_methods/chapter_3_library\n",
    "    else:\n",
    "        print('chapter_3_library already cloned!')\n",
    "\n",
    "    # clone images\n",
    "    if not Path('chapter_3_images').is_dir():\n",
    "        !ghclone https://github.com/neonwatty/machine-learning-refined-notes-assets/tree/main/notes/3_First_order_methods/chapter_3_images\n",
    "    else:\n",
    "        print('chapter_3_images already cloned!')\n",
    "\n",
    "# append path for local library, data, and image import\n",
    "import sys\n",
    "sys.path.append('./chapter_3_library')\n",
    "sys.path.append('./chapter_3_images') \n",
    "\n",
    "# import section helper\n",
    "import section_3_5_helpers\n",
    "\n",
    "# image paths\n",
    "image_path_1 = 'chapter_3_images/flattening.png'\n",
    "\n",
    "# standard imports\n",
    "from IPython.display import Image, HTML\n",
    "\n",
    "%load_ext autoreload\n",
    "%autoreload 2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "XRDvJAOJST25"
   },
   "source": [
    "Think about how you perform basic arithemetic - say how you perform the multiplication of two numbers.  If the two numbers are small - say $8$ times $7$, or $5$ times $2$ - you can likely do the multiplication in your head.  This is because in school you likely learned a variety of tricks for multiplying two small numbers together - say up to two or three digits each - as well as *algorithms* for multiplying two arbitrary numbers by hand.  Both the tricks and the algorithm are valuable tools to have when computing e.g., interest on a loan or investment, making quick back of the envelope calculations, etc.,  But even though the algorithm for multiplication is *simple*, *repetitive*, and works regardless of the two numbers you multiply together you would likely never compute the product of two arbitrarily large numbers yourself - like $140,283,197,523 \\times 224,179,234,112$.  Why?   Because while the algorithm for multiplication is simple and repetitive, it is *time consuming* and *boring* for you to enact yourself.  Instead you would likely use a *calculator* to multiply two arbitrarily large numbers together because it *automates the process of using the multiplication algorithm*.  An arithmetic calculator allows *you* to compute with much greater efficiency and accuracy, and empowers you to use the fruits of arithmetic computation for more important tasks.  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "Mj4aDaogST25"
   },
   "source": [
    "This is precisely how you can think about the computation of derivatives / gradients.  Perhaps you can compute the derivative of simple mathematical functions in your head - like e.g., $g(w) = w^3$ and $g(w) = \\text{sin}(w)$.  This is because in school you likely learned a variety of tricks for computing the derivative of simple functions - like sums of elementary polynomials or sinusoids - as well as *algorithms* for computing the derivative or gradient of arbitrarily complicated functions (if not you can find a refresher on these subjects in the text's Appendix).  These skills are useful - as some level of familiarity with them is requisite in order for one to grasp basic concepts in optimization as well as the examples used to flush them out.  But even though the algorithm for gradient computation is *simple*, *repetitive*, and works regardless of mathematical function you wish to differentiate you would likely never compute the gradient of an arbitrarily complicated function yourself - like $g\\left(w_1,w_2\\right) = 2^{\\text{sin}\\left(0.1w_1^2 + 0.5w_2^2\\right)}\\text{tanh}\\left(\\text{cos}\\left(0.2w_1w_2\\right)\\right)\\text{tanh}\\left(w_11w_2^4\\text{tanh}\\left(w_1 + {\\text{sin}\\left(0.2w_2^2\\right)} \\right) \\right)$.  Why?   Because while the algorithm for computing derivatives is simple and repetitive, it is *time consuming* and *boring* for you to enact yourself.  Instead you would likely use a *calculator* to compute the derivatives of an arbitrary complicated mathematical functions because it *automates the process of using the differentiation algorithm*.  A gradient calculator allows *you* to compute with much greater effeciency and accuracy, and empowers you to use the fruits of gradient computation for more important tasks - e.g., for the popular first order *local optimization* schemes that are widely used in machine learning."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "5wQD_0PLST26"
   },
   "source": [
    "Gradient calculators are more commonly called *Automatic Differentiators*.  In this Section we demonstrate how to use a simple yet powerful *Automatic Differentiator* written in `Python` called `autograd`, a tool we will make extensive use of throughout the text.  Interested users can also see this text's electronic resources for an analagous walkthrough of the `PyTorch` version of `autograd` as well.  In later Chapters and the appendix of this text we will dive deeply into more technical details about how Automatic Differentiators work, but for now we simply need to know *how to use one* - which is what this Section is all about. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "KEQ12_xtST26"
   },
   "source": [
    "## Installing `autograd`"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "nhFZpXs1ST26"
   },
   "source": [
    "[Autorad](https://github.com/HIPS/autograd) is an open source professional grade gradient calculator, or *Automatic Differentiator*.  Built with simplicity in mind, `autograd` works with the majority of  ``numpy`` based library, i.e., it allows you to automatically compute the derivative of functions built with the ``numpy`` library.  Esentially `autograd` can automatically differentiate any mathematical function expressed in `Python` using basic functionality and methods from the `numpy` library.  It is also very simple to install: simply open a terminal and type\n",
    "\n",
    "                                pip install autograd\n",
    "\n",
    "to install the program.  You can also visit the github repository for `autograd` via the link below\n",
    "\n",
    "                          https://github.com/HIPS/autograd\n",
    "                \n",
    "to download the same set of files to your machine."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "J2PhoWkpST26"
   },
   "source": [
    "Along with `autograd` we also highly recommended that you install the Anaconda ``Python`` 3 distribution - which you can via the link below \n",
    "\n",
    "https://www.anaconda.com/download/  \n",
    "\n",
    "This standard ``Python``  distribution includes a number of useful libraries - including `numpy`, the `matplotlib` plotting library, and `Jupyter` notebooks."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "JGDaYGXnST27"
   },
   "source": [
    "## Using `autograd`"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "UqSSbxAPST27"
   },
   "source": [
    "Here, we show off a few examples highlighting the basic usage of the `autograd` Automatic Differentiator.  By default this gradient calculator employs the *reverse-mode* of Automatic Differentiation - also called *backpropogation* - which we discuss in detail in Chapter 12.  With simple modules we can easily compute compute derivatives of single input functions, and partial derivatives / complete gradients of multi-input functions *written in `Python`*.  We show how to do this using a variety of examples below.\n",
    "\n",
    "Note: If you follow along in the `Jupyter` notebook version of this Section you can also see how to use the `matplotlib` plotting library to produce two-dimensional and three-dimensional plots."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "id": "CuMNKsdyST27"
   },
   "outputs": [],
   "source": [
    "# this is needed to compensate for %matplotlib notebook's tendancy to blow up images when plotted inline\n",
    "%matplotlib inline\n",
    "from matplotlib import rcParams\n",
    "rcParams['figure.autolayout'] = True"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "LkM2xKkdST27"
   },
   "source": [
    "#### <span style=\"color:#a50e3e;\">Example 1. </span> Computing derivatives of single-input functions using ``autograd``"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "YbS5BPVUST27"
   },
   "source": [
    "Since ``autograd`` is specially designed to automatically compute the derivative(s) of ``numpy`` code, it comes with its own wrapper on the basic ``numpy`` library.  This is where the differentiation rules - applied specifically to `numpy` functionality - is defined.  You can use ``autograd``'s version of ``numpy`` exactly like you would the standard version - nothing about the user interface has been changed.  To import this ``autograd`` wrapped version of ``numpy`` use the line below."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "id": "aImXx6W1ST28"
   },
   "outputs": [],
   "source": [
    "# import statement for autograd wrapped numpy\n",
    "import autograd.numpy as np   "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "rHP6xuWsST28"
   },
   "source": [
    "Now, lets compute a few derivatives using `autograd`.  We will begin the demonstration with the simple function $g(\\left(w\\right) = \\text{tanh}\\left(w\\right)$ whose derivative function - written algebraically - is $\\frac{\\mathrm{d}}{\\mathrm{d}w}g\\left(w\\right) = 1 - \\text{sech}^2\\left(w\\right)$.\n",
    "\n",
    "There are two common ways of defining functions in ``Python``.  First the the standard ``def`` named ``Python`` function declaration like below"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "id": "sfVYL550ST28"
   },
   "outputs": [],
   "source": [
    "# a named Python function\n",
    "def g(w):\n",
    "    return np.tanh(w)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "NfTf2v2IST28"
   },
   "source": [
    "WIth this declaration ``Python`` now understands ``g`` as its own function, so it can be called as follows."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "sgLV8iPCST28",
    "outputId": "ad5db42b-ed80-411b-9722-f38b23fddd8a"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.7615941559557649\n"
     ]
    }
   ],
   "source": [
    "# how to use the 'tanh' function\n",
    "w_val = 1.0   # a test input for our 'sin' function\n",
    "g_val = g(w_val)\n",
    "print (g_val)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "MdwMQYpaST29"
   },
   "source": [
    "You can also create \"anonymous\" functions in ``Python`` -  functions you can define in a single line of code - by using the ``lambda`` command.  We can produce the same function using lambda as shown below."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "id": "hKf3EuVxST29"
   },
   "outputs": [],
   "source": [
    "# how to use 'lambda' to create an \"anonymous\" function - just a pithier way of writing functions in Python\n",
    "g = lambda w: np.tanh(w)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "j3DlvpJ7ST29"
   },
   "source": [
    "We can then use it with a test value as shown below."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "62TY6kvjST29",
    "outputId": "ce37e2ce-0d4d-41ad-99b7-290826c3acc8"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.7615941559557649\n"
     ]
    }
   ],
   "source": [
    "# how to use the 'sin' function written in 'anonymous' format\n",
    "w_val = 1.0   \n",
    "g_val = g(w_val)\n",
    "print (g_val)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "EvMMP7ogST2-"
   },
   "source": [
    "And - of course - regardless of how we define our function in ``Python`` it still amounts to the same thing mathematically/computationally."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "_1-jTcswST2-"
   },
   "source": [
    "Notice one subtlety here (regardless of which kind of ``Python`` function we use): the data-type returned by our function matches the type we input.  Above we input a ``float`` value to our function, and what is returned is also a ``float``.  If we input the same value as a ``numpy`` array then numerically our function of course computes the same evaluation, but evaluation is returned as a ``numpy`` array as well.  We illustrate this below."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "VLiK-8nwST2-",
    "outputId": "25a73feb-6bbf-4bd5-ccf6-3646690b613a"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'float'>\n",
      "<class 'numpy.float64'>\n",
      "[0.76159416]\n",
      "<class 'numpy.ndarray'>\n",
      "<class 'numpy.ndarray'>\n"
     ]
    }
   ],
   "source": [
    "# if we input a float value into our function, it returns a float\n",
    "print (type(w_val))\n",
    "print (type(g_val))\n",
    "\n",
    "# if we input a numpy array, it returns a numpy array\n",
    "w_val = np.array([1.0])  \n",
    "g_val = g(w_val)\n",
    "print (g_val)\n",
    "print (type(w_val))\n",
    "print (type(g_val))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "DXblx2jNST2-"
   },
   "source": [
    "This factoid has no immediate consequences, but it is worth taking note of to avoid confusion (when e.g., comparing the output when evaluating at single points - which are naturally dealt with by inputing a ``float`` - versus multiple points, which is more naturally dealt with by inputing a ``numpy`` array).  Much later - when we are constructing considerably complex functions we need to differentiate - this will be something to keep in mind for de-bugging purposes."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "5zovPbZlST2-"
   },
   "source": [
    "We can visualize either version of our function by using ``matplotlib`` assets, as shown below.  Here we will plot the ``lambda`` version - over a fine range of points on the interval $[-5,5]$."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 225
    },
    "id": "mZQ-Vws4ST2-",
    "outputId": "537a3dfe-4a6a-4f77-836c-fcb11babf30c"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x216 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# the import statement for matplotlib\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "# create a sample of points to plot over \n",
    "w_vals = np.linspace(-5,5,200)\n",
    "\n",
    "# evaluate the function over each of these values - one can use an explicit for-loop here instead of a list comprehension\n",
    "g_vals = [g(v) for v in w_vals]\n",
    "\n",
    "# plot\n",
    "fig, ax = plt.subplots(1, 1, figsize=(6,3))\n",
    "ax.plot(w_vals,g_vals)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "93dp0zF_ST2-"
   },
   "source": [
    "Now, using ``autograd`` we can then compute the derivative of our function here automatically.  Below we show the proper import statement and manner of using the gradient calculator - called ``grad``."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "id": "XeqkOp6nST2_"
   },
   "outputs": [],
   "source": [
    "# import statment for gradient calculator\n",
    "from autograd import grad    "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "5t3aHJNJST2_"
   },
   "source": [
    "To use ``grad`` we simply pass in the function we wish to differentiate.  ``grad`` works by *explicitly* computing the computation graph of our input, giving us a ``Python`` function for its derivative that we can then evaluate wherever we want.  It does not provide an *algebraic function*, but a *`Python` function*.  Here we call the derivative function of our input ``dgdw``."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "id": "sUEAJb37ST2_"
   },
   "outputs": [],
   "source": [
    "# create the derivative/gradient function of g --> called dgdw\n",
    "dgdw = grad(g)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "Fh9GRAE7ST2_"
   },
   "source": [
    "The gradient function can be evaluated like our original ``Python`` function - as shown below.  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "ulVYbmGxST2_",
    "outputId": "ec119629-bda5-4401-f0ef-a583ade4411b"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.4199743416140261\n"
     ]
    }
   ],
   "source": [
    "# evaluate the gradient function at a point\n",
    "w_val = 1.0\n",
    "print (dgdw(1.0))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "3CAH-5vwST2_"
   },
   "source": [
    "Just as with our original ``Python`` function we can then evaluate our gradient ``dgdw`` over a fine range of input and plot the result.  We do this below, plotting the original function as well for comparison.  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 225
    },
    "id": "cs3HfJBUST2_",
    "outputId": "d77421dc-e660-4c41-9a47-ff3d407582c8"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 504x216 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# create space over which to evaluate function and gradient\n",
    "w_vals = np.linspace(-5,5,200)\n",
    "\n",
    "# evaluate gradient over input range\n",
    "g_vals = [g(v) for v in w_vals]\n",
    "dg_vals = [dgdw(v) for v in w_vals]\n",
    "\n",
    "# create figure\n",
    "fig = plt.figure(figsize = (7,3))\n",
    "\n",
    "# plot function and gradient values\n",
    "plt.plot(w_vals,g_vals)\n",
    "plt.plot(w_vals,dg_vals)\n",
    "plt.legend([r'$g(w)$',r'$\\frac{\\mathrm{d}}{\\mathrm{d}w}g(w)$']) \n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "1nIbUsGKST2_"
   },
   "source": [
    "We can compute higher order derivatives of our input function by using the same ``autograd``  functionality recursively, i.e., by plugging in the derivative ```dgdw``` into ``autograd``'s ``grad`` function.  Doing this once gives us the second derivative `Python` function - which we call `dgdw2` - as shown below."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "id": "NSiAalhmST3A"
   },
   "outputs": [],
   "source": [
    "# compute the second derivative of our input function\n",
    "dgdw2 = grad(dgdw)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "byfWADPdST3A"
   },
   "source": [
    "We can then plot the input function, as well as the first and second derivatives, as shown below."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 297
    },
    "id": "eZmos0WyST3A",
    "outputId": "3b842cb4-a18c-4eb5-db2f-245eadd1096b"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 576x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# define set of points over which to plot function and first two derivatives\n",
    "w = np.linspace(-5,5,500)\n",
    "\n",
    "# evaluate the input function g, first derivative dgdw, and second derivative dgdw2 over the input points\n",
    "g_vals = [g(v) for v in w]\n",
    "dg_vals = [dgdw(v) for v in w]\n",
    "dg2_vals = [dgdw2(v) for v in w]\n",
    "\n",
    "# plot the function and derivative\n",
    "fig = plt.figure(figsize = (8,4))\n",
    "plt.plot(w,g_vals,linewidth=2)\n",
    "plt.plot(w,dg_vals,linewidth=2)\n",
    "plt.plot(w,dg2_vals,linewidth=2)\n",
    "plt.legend(['$g(w)$',r'$\\frac{\\mathrm{d}}{\\mathrm{d}w}g(w)$',r'$\\frac{\\mathrm{d}^2}{\\mathrm{d}w^2}g(w)$'],fontsize = 13)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "hdNCn_wEST3A"
   },
   "source": [
    "#### <span style=\"color:#a50e3e;\">Example 2. </span> Remember, whenever you use an Automatic Differentiatior to evaluate a gradient you are explicitly evaluating the function as well"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "G_7eWOe4ST3A"
   },
   "source": [
    "Above you may notice that the derivative function ``dgdw`` we have constructed returns only the derivative evaluation, and not the function evaluation itself (we have computed this separately when e.g., plotting a range of function / derivative values above).  However as we described in the previous Sections, an Automatic Differentiator will always need to compute the value of the function itself whenever we use it to compute a derivative / gradient evaluation.  *So - in other words - whenever we evaluate the gradient, we get the function evaluation for free*.  This is a very handy technical fact which will save us a ton of computation later on when we discuss e.g., supervised learning models.  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "OAA0sZGpST3A"
   },
   "source": [
    "We can already see an example of the waste - e.g., in the previous example when we evaluated / plotted the function and its first derivative there was no need to actually evaluate the function explicitly since these computations are already performed when we evaluate the gradient.  However when we used ``autograd``'s ``grad`` functionality to compute the gradient of our function in the previous example, and then evaluated it at a single point, ``grad`` only returned a single value: the evaluation of the derivative.  No function evaluation was returned - so where is the mirror function evaluation?  Well the function evaluation is indeed being computed 'under the hood' of ``grad``, it is simply not being returned via this method.  This is a design choice made by the authors of ``autograd`` to keep the interface of ``grad`` - their introductary Automatic Differentiation method - easy to pick up and use for a wide audience.  Later when the need to re-compute function evaluations becomes quite costly we will use this ``autograd`` method exclusively (one can view the entire list of ``autograd`` [methods available here](https://github.com/HIPS/autograd/blob/master/autograd/differential_operators.py). "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "crdJagnPST3A"
   },
   "source": [
    "Now there is another ``autograd`` method called ``value_and_grad`` that returns everything computed 'under the hood' -  both the derivative(s) and function evaluations.  Below we use this ``autograd`` functionality to re-produce the previous example first derivative calculations."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "id": "-1PJplziST3A"
   },
   "outputs": [],
   "source": [
    "# import statement for gradient calculator - this method will return both\n",
    "# derivative and function evaluations (the latter always being computed 'under\n",
    "# the hood')\n",
    "from autograd import value_and_grad \n",
    "\n",
    "# how to use 'lambda' to create an \"anonymous\" function - just a pithier way of writing functions in Python\n",
    "g = lambda w: np.tanh(w)\n",
    "\n",
    "# create the derivative/gradient function of g --> called dgdw\n",
    "dgdw = value_and_grad(g)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "i158SMJ_ST3B"
   },
   "source": [
    "We have our derivative function ``dgdw`` above computed now using ``value_and_grad``.  Below we plug in a single point into this derivative function, and what is returned is both the function (left value) and derivative (right value) evaluation.  This function evaluation comes 'for free' whenever we evaluate the derivative - we need not evaluate the function itself again."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "42klRBQqST3B",
    "outputId": "686f82e4-3999-482e-81db-c643c0967ddf"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(0.7615941559557649, 0.4199743416140261)\n"
     ]
    }
   ],
   "source": [
    "# evaluate the gradient function at a point\n",
    "w_val = 1.0\n",
    "print (dgdw(1.0))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "EkoXfZQ-ST3B"
   },
   "source": [
    "Now we use this to plot both the function and derivative over the same range used in the previous example - again without re-computing the function evaluations."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 225
    },
    "id": "y3znI9H1ST3B",
    "outputId": "7ed85717-ff64-42e5-97a6-3e1c73cd13e1"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 504x216 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# create space over which to evaluate function and gradient\n",
    "w_vals = np.linspace(-5,5,200)\n",
    "\n",
    "# evaluate gradient over input range\n",
    "g_vals = [dgdw(v)[0] for v in w_vals]\n",
    "dg_vals = [dgdw(v)[1] for v in w_vals]\n",
    "\n",
    "# create figure\n",
    "fig = plt.figure(figsize = (7,3))\n",
    "\n",
    "# plot the function and derivative\n",
    "plt.plot(w_vals,g_vals,linewidth=2)\n",
    "plt.plot(w_vals,dg_vals,linewidth=2)\n",
    "plt.legend(['$g(w)$',r'$\\frac{\\mathrm{d}}{\\mathrm{d}w}g(w)$',r'$\\frac{\\mathrm{d}^2}{\\mathrm{d}w^2}g(w)$'],loc='center left', bbox_to_anchor=(1, 0.5),fontsize = 13)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "HPdrTns1ST3B"
   },
   "source": [
    "#### <span style=\"color:#a50e3e;\">Example 3. </span> Computing Taylor series approximations"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true,
    "id": "H2-HxK8iST3B"
   },
   "source": [
    "Using ``autograd`` we can quickly illustrate Taylor series approximations (see the Appendix for definition) of any single-input function.  Below we illustrate the ``tanh`` function, along with a first order Taylor series approximation \n",
    "\n",
    "\\begin{equation}\n",
    "h(w) = g(w^0) + \\frac{\\mathrm{d}}{\\mathrm{d}w}g(w^0)(w - w^0)\n",
    "\\end{equation}\n",
    "\n",
    "centered at the point $w^0 = 1$.  First we produce this function and its first order Taylor series approximation in `Python` below."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "id": "_XsSt-S8ST3B"
   },
   "outputs": [],
   "source": [
    "# create function / first derivative\n",
    "g = lambda w: np.tanh(w) \n",
    "dgdw = grad(g)\n",
    "\n",
    "# create first order taylor series approximation - as a Python function\n",
    "# here w_0 is the center point of the expansion\n",
    "first_order = lambda w_0,w: g(w_0) + dgdw(w_0)*(w - w_0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "S49G1YX-ST3C"
   },
   "source": [
    "Now we evaluate and plot the function and its first order approximation.  The function is shown in black, its first order approximation centered at $w_0 = 1$ is shown in green, and the point of tangency with the function shown as a red point."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 297
    },
    "id": "MItkbIXgST3C",
    "outputId": "3b290919-2c88-4a4b-e476-6e425968fd56"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# create area over which to evaluate everything\n",
    "w = np.linspace(-5,5,200); w_0 = 1.0; w_=np.linspace(-2+w_0,2+w_0,200);\n",
    "\n",
    "# define and evaluate the function, define derivative\n",
    "gvals = [g(v) for v in w]\n",
    "\n",
    "# create tangent line at a point w_0\n",
    "tangent = first_order(w_0,w_)\n",
    "\n",
    "# plot the function and derivative \n",
    "fig = plt.figure(figsize = (6,4))\n",
    "plt.plot(w,gvals,c = 'k',linewidth=2,zorder = 1)\n",
    "plt.plot(w_,tangent,c = [0,1,0.25],linewidth=2,zorder = 2)\n",
    "plt.scatter(w_0,g(w_0),c = 'r',s=50,zorder = 3,edgecolor='k',linewidth=1)\n",
    "plt.legend(['$g(w)$','tangent'],fontsize = 13)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true,
    "id": "vcaTA-f-ST3C"
   },
   "source": [
    "Its just as easy to show the second order Taylor series approximation as well, whose formula is given as\n",
    "\n",
    "\\begin{equation}\n",
    "h(w) = g(w^0) + \\frac{\\mathrm{d}}{\\mathrm{d}w}g(w^0)(w - w^0) +  \\frac{1}{2}\\frac{\\mathrm{d}^2}{\\mathrm{d}w^2}g(w^0)(w - w^0)^2.\n",
    "\\end{equation}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "GOL7FLu_ST3C"
   },
   "source": [
    "Below we compute and plot both the ``tanh`` function, along with its first and second order Taylor series approximations at the point $w^0 = 1$.  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "id": "ZCyzL-ubST3C"
   },
   "outputs": [],
   "source": [
    "# create second derivative function\n",
    "dgdw2 = grad(dgdw)\n",
    "    \n",
    "# create second order taylor series approximation - as a Python function\n",
    "# here w_0 is the center point of the expansion\n",
    "second_order = lambda w_0,w: g(w_0) + dgdw(w_0)*(w - w_0) + 0.5*dgdw2(w_0)*(w - w_0)**2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "7RMklfHaST3C"
   },
   "source": [
    "The first and second order approximations are shown below in green and blue respectively, with the point of expansion again shown as a red point."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 297
    },
    "id": "e3TvsY1HST3C",
    "outputId": "a9184f48-fb03-4401-c1da-216e7dd1e5bc"
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfAAAAEYCAYAAACju6QJAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAAsTAAALEwEAmpwYAAA+DElEQVR4nO3de3zO9f/H8cd7w7ADYxhzDjmkyLGDjsqh5FByCAk/SjpICjlX+KbyrShEX1RKkVREORRK38wxIpbjHDenmRnbrvfvj82+pmGza/tc1/a8327X7bquz+dzfd6vXWbP6/253p/3x1hrEREREe/i43QBIiIiknkKcBERES+kABcREfFCCnAREREvpAAXERHxQvmcLuBKQkJCbMWKFZ0uQ0RExDHr1q2LttaWuHS5Rwd4xYoVCQ8Pd7oMERERxxhj9qa3XIfQRUREvJACXERExAspwEVERLyQAlxERMQLKcBFRES8kEePQr+SmJgYjh49SkJCgtOlSB7m7+9P2bJl8fHRZ2ERyVleGeAxMTEcOXKEsLAwChUqhDHG6ZIkD3K5XBw4cIDo6GhKlizpdDkiksd4Zbfh6NGjhIWFUbhwYYW3OMbHx4dSpUpx6tQpp0sRkTzIKwM8ISGBQoUKOV2GCPnz5ycxMdHpMkSyJIIDzONnp8uQTPLKQ+iAet7iEfR7KN7uO9bQhdc5y3l+IZT6XO90SZJBXtkDFxGRrEkiieF8RCuGcIoztKAhVQlzuizJBK/tgYuIyLU5TgyP8TqL+R0ffHiNHrxMJ3zUp/MqCnARkTxkIxG0Yzi7OURxgviMYdxHfafLkmugj1seYsmSJTRp0iTTr+vYsSPTp0/PhopEJLeZxRJu4Wl2c4h6VGMdUxTeXswtAW6M+cgYc9QYs+Uy6+8yxpwyxmxMuQ13R7u5hbWW/v37M2rUqEy/duTIkQwZMoSzZ89mQ2UikhucJ4Gn+TePM454ztODFqzmPSoQ6nRpkgXu6oHPAJpfZZtV1to6KbfRbmo3V/jhhx84f/48d999d6ZfW716dapUqcJnn32WDZWJiLc7QBR30Z/3WUAB8jOFF5jGQApSwOnSJIvcEuDW2pXAcXfsK7eaPXs2lStXJiAggPbt2zNw4EA6deoEwNdff03Tpk3TnJJUtWpVFi1aBMCJEycICgriySefTF1/zz33MHnyZADuu+8+vv7665z7YUTEK/zMRm6mD2vYSllKsIp36E0rDDr9MTfIye/AbzHGbDLGfG+MqeXOHRtjcvSWWdOnT2fw4MHMnj2bU6dO0aRJE9555x3q1KkDwPr166lZs2aa1wQHBxMTEwPAxIkTKV++PMePJ39G2rBhA3/++Sfdu3cHoHbt2qxfv/7a30ARyVUslgl8yb0M4CgnuIe6rGcqDanhdGniRjkV4OuBCtbam4D3gK8vt6ExprcxJtwYEx4VFZVD5WWfuLg4XnrpJSZNmkTjxo3x9fWlV69eJCQkULduXeB/PeyLFStWjNOnTxMXF8eUKVMYNmxYaoC/9dZbPPvssxQsWBCAoKCg1HUikrfFcpZOvMoLvE8SLl6iI0sYTwmKOl2auFmOBLi1NsZaG5vyeBGQ3xgTcpltp1pr61tr65coUSKj+8/RW2b89NNP5MuXjwcffDB1WXR0NEBqD/zi3vYFxYoVIyYmhg8//JDmzZtTs2ZNjh8/TmRkJN9//z19+/ZN3TYmJoZixYplqi4RyX12sJ/G9GUOKwigEHMZyb/oQz58nS5NskGOnAdujAkFjlhrrTGmIckfHI7lRNtOO3r0KEWLFk2zbN68eZQpUyb1ClZ169blzz//TLNNcHAwx44dY/bs2fzwww8ULFiQEydO8O677/LEE0+k2eeWLVtSe/MikjctYDXdGEcMZ6hOeb5iNDWo4HRZko3cdRrZZ8Aa4HpjTKQxpqcx5kljzIVRV48AW4wxm4B3gY42s11ZL1W7dm0iIiJYvnw5CQkJzJ8/n1GjRqX2vgHatGnDsmXL0ryuWLFizJw5k/r161OtWjWKFCnC0aNHmTFjBv3790+z7Y8//kibNm1y4KcREU+TRBKvMI02DCOGMzzMHfzOBwrvPMAtPXBrbaerrJ8ITHRHW96mXr16DB8+nPbt2+Pj40PXrl257bbbaNSoUeo2zZo1I1++fPz000/cddddQHKAHzx4kEGDBgEQGBjI2bNnefTRRwkL+998xX/99Rc7d+6kc+fOOfpziYjzjnGKzrzGD4Tjgw9j6cVAOmqUeR5hPLkjXL9+fRseHv6P5du2baNGDe8cTXnixAkqVKjAL7/8Qu3atVOXL168mDFjxrBy5cpM7a9Tp07ce++99OrVy92lSgZ58++jeK91/MXDjGAvRwihCJ8zjHup53RZkg2MMeustf+YMk9zoWeztWvXEhAQQPXq1fn777/p3bs3bdq0SRPeAM2bN6d586vNhfNPmsBFJO/5iEX05d+cI4EGVGcuIylPKafLkhymudCz2datW7n77rsJCAigRYsWNGnShKlTpzpdloh4oXOcpw9v0ZPxnCOB3jzISt5ReOdR6oFns+7du6dOuCIicq32c5RHGMHvbMeP/LzP8/SgpdNliYMU4CIiHm456+nIq0RxkvKUYh6jqM/1TpclDtMhdBERD2WxjOdz7mMgUZykKfVYxxSFtwDqgYuIeKTTxNGDN5jLzwAMpjOv0gNfzaomKRTgIiIeZjv7aMdwtrGXQAozi8G04XanyxIPowAXEfEgX7GS7vyL08RRkwp8xWiup7zTZYkHUoCLiHiARJIYynT+RfLcDu25k494mQAKOVyZeCoFuIiIw6I4SUdGs5wN+OLDv+jDC7TXlKhyRRqFLtdsxowZVKlSJfX5k08+Sb9+/RysSMT7rGU79ejDcjZQkmCW8hYDeFThLVelAM9md911F6+99prTZWTatdQ9efJkJk7Mk9esEbkmH/Idt/Ms+zlKY2qyjincRR2nyxIvoUPoIiI5LJ7z9OMdprMIgKd4iAk8jR8FHK5MvIl64NmoX79+rFq1ildffZWAgACuvz558oVly5bRqFEjgoODKVGiBB07duTo0aOpr7vrrrsYMGAADz/8MIGBgVx33XUsWLAgdb21ljFjxlC2bFmKFStG//79uffeexk5cmTqNlu2bKFZs2aUKFGC8uXLM3jwYBISEgDYs2cPxhg+/vhjatasSWBgIPfffz+HDh26Yt1X07179zRXRTPG8P7779OgQQMCAwNp3Lgx27dvT12fmJjImDFjqFatGkWLFuW2224jvavPieQmezlME55lOosoSAFm8DLv01/hLZmWKwLccHeO3jJq4sSJNGnShGHDhhEbG8tff/0FgJ+fHxMnTiQqKoo//viDgwcP8txzz6V57cyZMxkwYACnTp2iX79+PP7448TFxQHw8ccf88477/Dtt99y5MgRSpcuneYypEePHuXOO++kXbt2HDhwgDVr1vDjjz8yduzYNG3MmTOHlStXcuDAAc6cOcPw4cOvWPe1mDFjBvPmzSM6Oppy5crxzDPPpK4bMWIECxYsYPHixRw7dowePXrQvHlzTpw4cc3tiXiypayjHn0I5y8qEsqv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",
      "text/plain": [
       "<Figure size 504x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# create area over which to evaluate everything\n",
    "w = np.linspace(-5,5,200); w_0 = 1.0; w_=np.linspace(-2+w_0,2+w_0,200);\n",
    "\n",
    "# define and evaluate the function, define derivative\n",
    "gvals = [g(v) for v in w]\n",
    "\n",
    "# create tangent line and quadratic\n",
    "tangent = first_order(w_0,w_)\n",
    "quadratic = second_order(w_0,w_)\n",
    "\n",
    "# plot the function and derivative \n",
    "fig = plt.figure(figsize = (7,4))\n",
    "plt.plot(w,gvals,c = 'k',linewidth=2,zorder = 1)\n",
    "plt.plot(w_,tangent,c = [0,1,0.25],linewidth=2,zorder = 2)\n",
    "plt.plot(w_,quadratic,c = [0,0.75,1],linewidth=2,zorder = 2)\n",
    "plt.scatter(w_0,g(w_0),c = 'r',s=50,zorder = 3,edgecolor='k',linewidth=1)\n",
    "plt.legend(['$g(w)$','tangent line','tangent quadratic'],fontsize = 13)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "_6-k38sSST3C"
   },
   "source": [
    "#### <span style=\"color:#a50e3e;\">Example 4. </span> Computing individual partial derivatives of a multi-input functions using ``autograd``"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "Y8DpiLy9ST3D"
   },
   "source": [
    "There are a number of ways we can go about using `autograd` to compute the partial derivatives of a multi-input function.  First lets look at how to use `autograd` to compute partial derivatives individually, or one-at-a-time."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "fXOt1Wg_ST3D"
   },
   "source": [
    "As an example lets look at the following function\n",
    "\n",
    "\\begin{equation}\n",
    "g\\left(w_1,w_2\\right) = \\text{tanh}\\left(w_1w_2\\right).\n",
    "\\end{equation}\n",
    "\n",
    "This simple function takes in two inputs - $w_1$ and $w_2$ - and here we have written them out *explicitly*.  Below we translate this function into `Python` - note here we use the longer form ``def`` version of a ``Python`` function, but we could of course use the pithier ``lambda`` version if we like."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "id": "Ed7xHuL_ST3D"
   },
   "outputs": [],
   "source": [
    "# a simple multi-input function defined in python \n",
    "def g(w_1,w_2):\n",
    "    return np.tanh(w_1*w_2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "Qi2Tn34VST3D"
   },
   "source": [
    "Taking in two inputs, this function lives in three dimensions.  Below we plot it over a small range of its input."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 362
    },
    "id": "1us7F24RST3D",
    "outputId": "fb1b4f54-03b2-49d7-824d-3c94e58237eb"
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "<ipython-input-24-356e013a93db>:16: MatplotlibDeprecationWarning: Calling gca() with keyword arguments was deprecated in Matplotlib 3.4. Starting two minor releases later, gca() will take no keyword arguments. The gca() function should only be used to get the current axes, or if no axes exist, create new axes with default keyword arguments. To create a new axes with non-default arguments, use plt.axes() or plt.subplot().\n",
      "  ax1 = fig.gca(projection='3d')\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAARMAAAEhCAYAAABcG0QeAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAAsTAAALEwEAmpwYAADFhElEQVR4nOz9eZAk+XXfCX487vvM+6zMrPvuE32hG2gABEGKoERCFEkbkTOEZrSS+IeoXXFkwyGXWpOW0sxKXHFI484YKVFa0AiuyDESPHAQRwPdDfRZR9eVVXkfERmZcd/uHu7h+0e4e3tERkRmVVd1VwPxNWurzgiPCA8P96+/33vf932CpmkMMMAAA7xX2D7oHRhggAG+PzAgkwEGGOC+YEAmAwwwwH3BgEwGGGCA+4IBmQwwwAD3BQMyGWCAAe4LBmQywAAD3BcMyGSAAQa4LxiQyQCHhiAIvyEIwj+9x9e+IQjCmfu8SwM8RBAGCtgBDgNBEIaBK8BRTdPq9/D6nwL+nqZpP3m/922AhwODyGSAw+K/Bf76XohEx5eAjwuCMHb/dmmAhwkDMhnAhCAINkEQfk0QhKwgCElBEH5GEARZEIQo8Bng25Zt/2+CIGiCIPy2/vcv6X//W/3vX9X//n8BaJomAm8Dn37/v9kA7wccH/QODPBQ4deBjwHngSrwVWBX07S8IAjngNuWbQ1ieUb/99ke/75kec0t4MJ93eMBHhoMyGQAwMyJ/FPgUU3TEvpjXwGe0DeJAGXLSy7pf58XBMFPizzuAI8LguAFngKawMuW15SB8Qf3LQb4IDFY5gxg4BPAO5qmLVseiwHX9P/PA0HjCU3TVOAVwA78DDAG/DvATSu/EgauaJpWtLxfECg8mN0f4IPGgEwGMDCE5UIXBMFOK0/yjv7QO8DxjtcYS53/K9AAvgBk9L+tzxs4BVy9b3s8wEOFAZkMYOAW8KwgCEcFQQgBvwUs8G5k8tfACx2veUn/9yRwSdO0GvBd/XXW5xEEwQM8BvzNg9j5AT54DMhkAAA0TfsG8EfAZeAtWpqSGrCob/JfgB/R8yEG3gYq+v+/2vFvZ77kx4CXNE1L3vedH+ChwEC0NkBXCILwfwF+VNO0H7M89v8E9jRN+3/fw/u9Dnxe07Tr928vB3iYMCCTAQAQBOEpYAfYopWM/UPgxzRNe/0D3bEBPjQYlIYHMPAI8FeAk1aJ978dEMkAd4NBZDLAAAPcFwwSsAMMMMB9wYBMBhhggPuC+50zGayZBhjg+xtCrycGkckAAwxwXzAgkwEGGOC+YEAmAwwwwH3BgEwGGGCA+4IBmQwwwAD3BQMyGWCAAe4LBmQywAAD3BcMyGSAAQa4LxiQyQADDHBfMCCTAQYY4L5gQCYDDDDAfcGATAYYYID7ggGZDDDAAPcFAzIZYIAB7gsGZDLAAAPcFwzIZIABBrgvGJDJAAMMcF8wIJMBBhjgvmBAJgMMMMB9wYBMBhhggPuCwRCuhwzNZhNN0xAEwfxvgAE+DBiQyUMETdOo1Wo0Gg08Hg8AgiBgs9na/h2QzAAPIwZk8pBA0zTq9TqiKCKKIm63G5uttQo1ohUrDEKx2WxtJGM8N8AA7zcGZPIQQNM0JElCkiQ2NzcpFosIgkCz2cTj8RAIBPD7/QQCAQKBAHa73Xydoiht72UlGeu/xnMDDPCgcL9nDQ+GcN0DJEmiVquRTCYplUocP36cQCCApmmIokilUqFarZr/KoqCy+VqIxi/34/L5TLfs/N3zefz+Hw+/H4/wGDJNMC9oufJMiCTDxiyLFOtVslkMqRSKc6ePYumaeZF3+91lUqljWhkWcbhcJgkY/zr8XhYXFxkZGSEaDS6770GeZkB7gIDMnkYoSgKlUqFYrHI6uoqFy9exGazoarqgWRy0HsaBFOpVBBFEUmSCAaDxGIxk2h8Pl8bYQzyMgMcAgMyedigqirlcplKpcLt27e5ePEiLpeLZrP5nsikF27duoXf78fpdJpkU6vVAPB6vW2RjN/vN5O/0J9kBnmZHzj0/IEHCdgPAKqqmhHD7du3OXv2bN98h6Zp3Ll5E6lWIxCL4fP7zcjCSMYeBLvdjtfrZXh4uO3xZrNJvV43I5lMJkO1WjWTv51LJofDYe5TZ/JXFEVUVSUcDrctlQZLph8MDMjkfUaz2aRarSJJEjdv3uTkyZP4fL6+r7lz6xa5q1cZ8fupr6+T1zREQATcfj+BeJxALIY/GMTn8+Hz+XA6nW3v0etittls+HVyGhkZMR83KkzGUimZTFKpVFAUBafTua/C5HK5KJfLlEqlrlHVIC/z/Y8BmbyP0DSNZDKJ1+vl5s2bzM/PEwqF+r5mfX2d9NWrnB4bw9ERhWiahijL1NNpaltblJtNRJuNuqaRr1YJxWLMHDtGIBymWCzi9XoPva+CIODxePB4PAwNDbU9ZyR/q9Uqe3t7rK2tIUkSzWYTm82Gw+Ewycb6maqqdv2cAcl8f2CQM3mfoGka1WqV1157DbfbzejoKOPj4/u2azabKIpCIBAglUpx+6WXOB2P47Ysgw7CZirFS2++yccefxyHw4Goqqzv7iJ4PERGR/FHIgTicfzhsFkudrvd7/kCTiaT5HI5otGouWyq1+sIgrBvuXQ3yd9BXuahwiBn8kHCULfKsowsyz2JxIp8Ps/tl1/meDR6V0SSLRZ5+fJlXnziCabGxszHPXoOJBgIUKtUqGez5BSFJCAKAk27nVQ+z8lz54iNjpo5Ga/Xe+iL12634/F4mJycbHvcWNoZBJNKpdqSv1ai8fv9B4rySqUS4XAYu91uEo3x3AAfHAZk8oBhCM8MdasgCExNTfV9TS6X4+p3vsPZYBC/3qNzGFRqNb762ms8fuJEG5FY4XQ4CAcChAOBtsdffecdxJ0d/JEIxbU19gQBURBoCAK+SAR/NEowHjdzMj6fr63i0w82m41gMEgwGGx73CBZY8mUzWapVquoqorb7e4qytM0jVu3bvHoo4+ayWADgyXTB4sBmTxgSJKEKIrs7OxQr9fx+Xz7QnorRFHk9a9/ncytW6w1m3i8XkI+H+FAgEgwSDwcJhYMtlV/oJXH+Nrrr3NicpIT8/P73lcQhJ5r0MWNDRI7O/yt55/H15FXaTab1CSplZNZXiYjCIiADNi8XkqSxNlHHsHn95tEcFgIgmASkxVG8teIZHZ2dqhUKjQaDRwOB7VajUQiQTAYJBAI4Ha7zdcO8jIfHAZk8gAhyzKiKJLNZslkMly4cIF33nmnJ5koisLl734X9+4uTxw/jtvtpqGqiLKM2Giwm05zZ22NYq2G2+Ui5PcTCgYJe71cXVlhNBjksbNnu++MIECXz02m07x9/TqffvrpfUQCragi4PUS6HhOVVX+4pVX8NrtiJpGXtPYLRYp1Oukl5cJxGIE4nF8FoFcZ4WpF6zJ33g83vZco9Hgtddew263k8lkWF9fR5Ik7Ha7uUwyohlr8nfQLPngMSCTBwRFUajVahSLRba2tkx1q81mo9ls7tu+2Wxy9Y03yF66xCMnTxIMBhEliXq9jl0QsDWbePx+pqJRXG43arOJKMtIisKrV66ws7ODOjfHH371q4R8PkKBANFgkKgezXS7NAqVCt96+22eu3iRoVjsrr7fm7duYW82+eRzz5k5jiGXi2q1StzppJ7JUN/eZrfZRNSjGYfXi83jQXO7mVtY2KddOQycTid2u53p6em2C15RFDMvUygUSCQS1Ot1AHw+X9tyye/3m6/t1yxpWEEMkr+Hw4BMHgAMUVq1WmV5eZkLFy6YF4wgCF1FaTffeYetV1/lkRMnzNDd4/EQCYff3Q5oyDL1et0kmeWNDeRqlc+9+CKhYJAmIDca1CWJYqHA+tYWpVqNQqlEJBhkcmyMaCiE3+Phu9eucfHoUWY7EqYH4c7mJuvb23z2hRf2ieYEQcDrduN1u6Gj7C3KMn/xzW8yFo1S2dlhVxCoAu5IhOjMDONTUwQ6cjmHhcPhIBwOE7YcL9CXabWa+Xvs7u5Sq9VoNpttyV+DaBwOB5qmoWkab7zxBk8//fS+72ckfgeivHYMyOQ+wyASSZJYXFzk7NmzbWv6bpHJ6tISd775Tc7NzhKPxWg0Gl3fWwBcLhcul4twOMxKIkFNVfn5n/xJ/F6v6YdSr9dBVXF6PAzr4X6hVEJuNHC63RSLRb7yyisosowArKdSBPx+YkZeJhIh1EPOv5vL8ea1a/xQj2VRP1y5cYNwIMAPP/GEmbzVNI2qKJK9do133nmH0YsXWTh+/MD3OuzFa7PZTLKwwkj+GnmZra0tKpUKqqricrkIBAI0Gg0KhYIpyjNuAp2RjLE/P+h5mQGZ3EcYJVBZlrlx40ZXdWtnZHLjxg1e+uIXWYhG8el38sOIdXZzOb535Qqf+shHiOivczqd+0RwiqJQF0UURaHRaCAIAu8kEsQ9Hl584QVsdjuSoiA3GlRqNVLpNIVKBVlVCQUCBPXkbywcxuN08tKlSzx19izDd7ksWlpbI5HJ8NMvvNBWBRIEwczJTCgK199+mw23m9nZ2bt6/7uFNflrbTHQNM0U5e3u7pJKpczf1NqRbUQyHku17Qc9LzMgk/sEQ5TWaDS4ceNGT3WrNTLJZDJc//rX8UsSFVHkyy+/jKwo+H0+YpEIsWCQSChEPBwmZCnFlqpVvv7GGzxz/jyjHerUTjgcDoKBAPVaDQSB3WIRr8/HT3zqU6Dfne31OrZmE5vLRdTjwTM1hc1uR5RlZEWhUq+zuLLCG++8g9frxe10sppKtUgmFCIaChHtKPtakc7leOvmTf72s8/i6aOZcTocnBoa4tLbbzM+Pr6vYvV+QBAE3G43brcbl8vF6dOnzecajUZbD9PGxgaiKJotCVZRnlWf84NiYjUgk/sAg0gUReHWrVtMTEzsq0IYMCKTYrHIG3/910w6nZz70R/FrhNFXRTJ5vNU63XK1Sp3MhmK1SpSo0EwEMDrcnH5zh3Ozc8TDYdNCfuBEAQSe3ssbm7ymWefJaAvYzrDf1VVzaWSTRCwaRo2l4vFvT2OTUzw3GOPIeuRTFUUWdncpFguU5NlNE3D7XQyn8sRC4eJh8N4XS5eeuMNnj93jpFI5MDd9LhcDMkyyWSSI0eOHPy93kc4nU4ikQiRju+hqqpJMqVSiWQy2Zb87RTlWZd4iqLwzjvvcPLkSZM8O6OYD8uSaUAm7xGappHNZllfX6fZbBKJRPqqW202G9VqlRuvvIInn+fs+fMmkQB4PR5Gh4baPGABJFkmVyjwF9/5DsNuNy67na+++iqSohDUlyMRS/UmHAi0vb5QKvHatWt89mMfM5dF3WAtsRq4cucOoVCIT37kIyiK0robaxqC00kgEuHo2BgOp5N8sUixXMamqmwkEly5eZNrd+4wHI2ytbdHQ1GYGxsjcEBj40gwyMra2gdKJnfTZmK32wmFQvsiUSP5axBNOp1u68g2CKZarQKtc8NI/n4Y8zIDMnkPMJJ4jUaDXC5HPB5nZmam72sUReHyyy/j2N7mUUuV5yC4XS4WNzeZHR3lh557zjyBJFmmUCq1LuRKhZWNDS5VKlRlmaDfTzAQwON08srly1ycn2fc0hl8GGzs7HBrZYUfee45wl2WMobCt16v05BlHIBgs+F3Oqnm8xyfnORj585RrddJ7u7y5q1bDEWjPHPmDEMdlRcDYb8fcW+PRqNxaG3K/cahI74+sCZ/R0dHzcc77ThFUeTKlStm8rdzyWRd7j3MorwBmbwHSJKELMuk02lUVeXYsWN9f0BVVbl95Qq2jQ0ev3ixrcpzEN6+dYt8ocCPPv9822e4XS5Gh4b25U4ajQaFcplMLsfX33wThyyTTKf5L3/5l/j9/pYOxaKqjQaD+y6efKnEK1eu8PFHH+1KJKCXgr1eM0dQq9WYnJxkZWODqqry4888g6BpuO12fE4nIz4fiXSa/+9f/iUfvXCB0/PzppbD+p5BoFQq9VwuPmgYs4seBKzHbHh4mGQyyVNPPQW023Hu7e2xurqKLMvY7fZ9tg+HSf7a7fb3jZAHZHKPkHW9Ry6XM82a+518mqbx1b/4C2689BKn5ubIlEpognBgyA8tXcfSxgZ/6/nnD93053Q6GY7FeGdlhRMzMzzyyU+iqirxeJxCuUyhWKRQLrO2tcXVxUWqoojf728tlwIBfB4Pb9y4wZMnTzJhuaseBoVSiTeuX+fHn3mG8Q4y0IBTksSx7W2+/MYbCM0mHocDrdk0tTVerxd7rUaxUPjAyOR+RCb3ApfLRSwWI9ZRLbPaceZyOba2tlp5LZttnyjvoHPxQWFAJvcAI6tfLpfZ3Nzk3LlzXL9+ve9rFm/coHjjBqcmJ9EUhet37lCq1WgCAb+fsCVSCPl8ZtSSTKdNXcdhiMeKy4uLFItFfuyFFyiXy6ax0XAstq+0q6oq+WKRvE4yX3v1VRRR5LLNxuLWFqFAgEggYFaX4qFQ14tNUVVeeuMNnjxxYh+RQEsr43G7ObGwQK3RYDOb5ceffRaNdwm6Xq9TK5W4+cor7KRSuN1u82IxXPsfNDRN+0DIpBccDkfP5K8hyiuVSuzs7LR1ZM/MzDAxMfH+7OP78infRzBk27VajaWlJS5cuIDT6ewqkTewtrrK4te/zsX5eVxOJ06n07zzVGs1M3FZqFTY3tlhK5WiqWm43G42d3d57sIFapJEpVY7NKGsJBIsrq3xox/96KHCXLvdzlAsxlAsxqtXr3J6fp7PfPSjNJtNM4rJl0psJ5Ncu33bjGSigQDRUIiRWAyXzcbb168zMjzMxaNHD/zMc8eOcW1tjUyxyFA4jNvlwu1yEQmHCYRC2FwuHnvmmTbHt0QiQa1W49VXXzXFZb3GfbwXNJvNhyax2Q92u71nR3atVrurVoX3igGZ3AWMEqChbj1z5gxut9vMwHfDzs4O73zlKxwJh5manCSTybQRj9/nw+/zMaVXgDKZDKemphCcTv7spZeYj0TI7+3x5Y0N6oqCw+UiFgoxFIsxEo8T0yMFK8ns5nK8duUKn/zIRwhZSr+HuaPfXFsjsbPDZz/+8VZp2EIyViiqSq5YJF8okCkUuHLzJu8sLlIsl/lvfuRHDkV8DrudoxMTLG5s8Nz5823Ped1u6vowsk7Ht2KxyNNPP93m+GbtLDZsJTuTmHdDDh/UMud+wTCkGpDJQ4hOdeuJEyfM8mmvkzSbzfL2X/81o3Y7C/PzB2bYS6US+VyOyakpvvH223z0kUd46pFHgHcrALl8nlQ6TTqT4eb165TrdWqNBk6Xi1gkgs/v5/baGs+eP4/fcjF36wnqRCqb5fLNm/zIs8+2emv6wGG3MxKLMRKLcYJWsnZnb48Xz55Fqtf54299i2NTUzxz5kzfE3p+cpJvXL3Kc13eX2g0elZ0rOKyzryKMYuoM4lptZM0yKaXw9yDTMB+v2JAJoeAQSSNRoObN28yNze3r6Gs88Qrl8u88ZWvEKrXOXX2bNtdrtuSyJjot7CwwEuXLuF3OvnIxYtt7+/1epn0epm0rIGtJJPY2eGrr72Gs9nkxq1bvPnOO++SjNuN3+Oh6XAQD4fxdZguVWo1vvnmmzx9/jyxQ4jLrFBUlZfffpvHjh7l2Pg4ExMTPFGr8eqVK/zpyy/z432UryPxOJIodo1k3LQqZndbjTD6lzoHjvVSsBraGuuSSVXV9yUy+bAspw6DAZkcAGPtqSgKi4uLjI2N7TNY7oQoivzx//F/kF1a4okLF9jc22uTxHdqBWRZZnNjgyNzc1y6c4dqpcLfeuGFQ51kVpK5sbnJc48/zosf+QhNTUPS1bSpvT2SqRQ7iQSr6+vvRjLRKCPRKPFolLdv3eL83BwL09N3fYyu3rqFx+Xi/Py8qfwM+Hx8+pln+O7ly/zla6/xE8891/XitAkCY5EIyWyW4z3I5F47iTvRS8Fq5MEqlYpZKTGc+N955502krkbG8vD4EEvp95PohqQSR8YRCLLMsvLy4RCoQMz44qicPk732GyWuWxRx6hLstsrKxwuVJB1rUAbpeLudnZVu9NIEAqmWR6Zoa1VIrNRIJPP/30Xd+N37hxA6le5xPPPw+0LlKv18uU18vUxASFYpFyuczk5CSSKJLJZtlNp9nLZPizN96gWixSyuW4cvu2mY+ZHB1lcni4bz9NrlDg9uYmf++FF1Bled/zT128yF++/DJv37nDEydPdn2PkXCYVC7H8Q4ic9Mi2geNbvYF+XyeRCLBzMyMOXXR6pHS2fB3NzaWVnzYczNWDMikB6zq1q2tLex2+6E6WW9evkzl8mU++vjj+zLsdVFkfXub3XQaoVJhZWeH2+vreAIBhMVFkuk0H33sMfKVCm6PB/8hW/zvbG6yurXFZ194Yd84DANC60uZJDM9NcX01BTXlpeRgM++8AKKorCbTrOzu0tqZ4fFW7fIV6sEAgEmRkY4Oj3N/NQUXp8PmyDQ1DS+e/Uqjx0/TsjvJydJ+z7XJgg8e/48X/rud7kwP9+12hILh0lsbu573KXbN34Q0DTtQJl8pVKhXC63lWO7GTH1IwtVVQ89SO1hx4BMekCSJF5//XXGxsaoVqucPXv2wJBxd3eXlW99i+dPnNhHJNDqu5kYHibk8zExPs7m5iYfOXkSwenkv37jG3z8xAkcqsrNW7d4rVbD5fUSDAQIB4NEw2GGI5F9StV0oWDqUPqRT7d9383leOf2bX7sox81y7Lzs7PMW0iz0WiwnUqxvrXFpWvX+MZrrzEai3Fiaop8qUQmk+ETZ86Yd+xuiEciTEWjXFtf57EuXiWxSITCzZv7Hnc6HH3f90GiX8TQyyPFmI5olLENIyZN07qOYLXb7YPI5Psdkm6XKMsye3t7XLhw4UAi0TSN737ta5weGWGoj2pT0L1Yd3d3EWw2RkdG+MvXXuPJU6d4QvdvVRUFm81GTZLIFAoUikX2kklu3bpFrdEgEAwSDoUI+/28fv06L1y4wMgh/EWs1RxFUfj25ct85NQpYn0a/5xOJ3PT08xNT/NxIJPLcX1lhevb2yT39vjcc88hSRKFQoFqtWouDQ25uNfrxePxcGpuju/eutWVTEKBALLemmCNXJwOB0X9jt/tOzxI3MtFbp2O2NmLYyUZ6whWh8NBo9EgkUi0ub3dLwxyJh8gZFmmVqtRLpdpNBo89thjhwpDq9UqzXye4xcu9N1OEATqogjA/Nwc25kM1UqFR594on07m41IMEgkGARLLkGSZTL5PNl8nq9dukQpn+fSrVssJxLEIxFGYzEmhof3VWvocKd/89YtRnw+TnZxsu+HoViMj8ViON5+m8TWFtv5PGcWFnA4HORyOer1OrFYzFSy5nI5c9rf1uYmN27fZnx4uOWL4vG0tCyCQNDrpVCrMWIlE7udRkdk8n6VbO/n51iNmDpHsO7t7bG1tYUsy21ub52qX2Po/MOMAZlYYJhA1+t1lpaWCHS08fdCIpGgWq1ydGTkwO1FSaJWrXLmzBlsNhs3Vlc5OzuL/S66hydHR3F7PMRXV/knP/ETCIJAOpcjlcmwsb7Om1eu4Pb5GBkaYnpkhMnh4TadSaFSYW1zk5/4+McP9ZmdaGoayWyWz/+dv8PttTX++o03+Ft6o5q1ic0KTdNIFoukikUigQC5XA5Rz4d43G4UUWRje5ug3p8jCAJOh2MfmbxfeD+WH4Ig4HQ68fv9zM3NmY9b5zxXq1USiYRZXXqQqt/3igGZ6LCqW2/dusWZM2dYXl7uK5OHlmJ1d3cXh8OB94AQXBRF9nZ3CQaD5no5lc3y7Llzd72/l5eWODszg0cXl02NjZmDt5qaxm463TJDWlzklUuXCPr9RP1+ZqaneXtxkTOzs3fd62NgK5nE6XRyZHycmbExvvzKK7xy7Rpn+5SVBUFgYXqam9vbbRP/jBJ2LJEgrVdQjKSrYLOx7XQynUqZI0U/jJFJP3TTs3RT/RqwdhUfRvX7fmJAJrTuQsaPYlW39hpLYaBUKrG2tsbFixf52pe/jKvPnazRaLC2tsbExATFYhGAXLmMy+HYd1HX63XqokjA78fr8+HsiFqazSZbe3s8qZeBO2ETBMZHRhgfGeFxWoK0W0tLXLpzh5VkkuTuLr/4Uz91yKOzH4vr65zWk7Q2QeDFJ5/kT7/5TaJeL/E+mpCJkRG+ff16213fqC5NjI6Sr9c5qvf0GO51q6nUvpGi9XqdlZWV91yW7Yf3KzHabDbvqprTq6u4m+pXURReeOGF+73LPfEDTyYGkSiKwo0bN9rUrf3IpF6vs7i4yLlz51qNfqLYsyyrNpusrq0xMTmJy+WioJNJplQi3lH1kUSRre1thoeHyRcKJHd2UBoN7A6HuXwo1Ov4nc62vpt+CPh8nD56lKFQiJVslkqxyF+9+ipHJya4ePr0gdJ5K6r1Orv5PJ+25Hi8bjfPnD3LNy9d4jOPPdbztT6vF6/dTq5c3meM5Pd62c7nzb8FQSCgd1HPz8+bF7YkSVy6dAm/37+vLNupYvV6vfdMCO9XZHK/SKuX6neQgH2fcJC6tReZyLLM9evXOXnypJkbaDYaOLosGzRNY2N9nVgsRjgUQpIkNP09i5UKIctrVEVhfX2dqclJgsFgW8KtoShmUnNxdRWlWuX69es4nc62yonX6+16pzNOqlK9zuc+/nFG4nFeX1zkT7/xDS4cPcqZY8ewHeLEW9vaYnJ4eF8IPT89zXevXGFlZ6fvLOXhaJRULrePTAJeL7UumhK7IJi5AuN7OBwOxjpmKffTftwLydxtxHCveJCy/YHT2vsEg0gajQYrKysEg8F96tZuZKKqKtevX9/nPq+pKvYuP14ymcTt8TCsk5Sg+3wCVESRYb1ZUGs2WVtbY2x8fN94DGiVSZ3BIKFgENfaGo/OznJyfp5Go2GSTCaToV6vm/Z/VoIxfEVzhQLTY2M4nU4+8eij7BUKvHT1KpupFC88/viBeZTN3V1O9/BmPbewwHdv3uSFjsqUFUPBIOlCYd/jXq+XehcycUAbmfRCP+3HYUnGairUbDbfl+rJ+0Va7wd+IMnEqm7d3NxEEISu5sWdZKJpGjdv3mRsbGxfp6qmKAgdd5h0JoMsy23vLfCuVqIuivhiMdA0tra2TEm3qih99RSlWo2oZVZO57yczsl/e3t7VKtV1lMppHKZ3d1dvF5va2ZMOMznPvpRXrt1iy99+9t8/LHHevrESrJMulDgSA/ntanRUYRr10ik00xaZtFYEY9EWF9Z2fd4wOdD7kMm5ne7y+XHYUim01TI7/cjyzLBYJBwOPxAncveL9J6P/ADSSaSJCFJEru7u33VrVYy0TSNpaUl/H5/9/6cZhPBQgDFYpF8LsfC0aNt720t0cqKgtvlIqUL2IZ7XICdqNRqPT1ZYf/kP2jleO7s7HDm6FECgQD1ep1isYgoimiaxojbDaOj/Pm3v83HHnmE4wsL+5Y9yd1d4pFIzyhBEATmx8e5ubHRk0xikQjFSmXf4w67Hbs+q8faC2TvcGq/X7kMK8lYl0wGySwvLyOKIktLS4eKZO4Vqqq2ebneTwyWOQ8Yhro1l8uxu7vbV91qJZOtrS3TNLobNFU136dWq7Gzs8PRo0fbxlhAa5nT1MlEkmUkUURqNpmfm4ND/PiiLKM1m2ZJ+G5QrFY5tbCwr3NWo5X4jdfreN1uvvzd77K1vc3E8DButxufz4fX62U9kWDiAE/WIxMTfPf27Z6JxYDPh6oo+0gDwOdyUanX2x530O7I/qATowbJ+P1+wuGwKTIzbCiq1eq+2TjvhWQGcvoPKWRZ5tq1a4yMjLCxscHFixf7rlftdjuqqrK7u0s+n+fcuXO9TxJNw6Z/xsbGBnNzc11l0UbDHbQsG4uFAhfOn9+3ROqFUq1G4B7uZIIgUKzVunqVCGDqGqLRKGNjY3z5tdc4e/o0kWCwNZO3VmNxdZVzs7PcvHnTNH42/nPp5Bbw+Qj7fGzs7jLXY35QNBAgWyzui148Lte+vMl7XebcKzovcpvNZtojdkYy74VkBmTyIYShbs3n8xSLRc6fP3/gWtVms1EulykWi1y8eLH/j65pqKrK2toa0zMzPUNXY5kjSRJ76TQLzz+/n9D6XCxVPXq4Wxgy/vAhysnj8TjPX7zIS5cu8WPPP08sFsMvy/iCQZ7/yEdayxFRNHMO6XQaWZbNDli/zcb15WUm43GcLhed3ybo9ZKvVLqSSVVvNTBgp/ug8AeNw5oWHUQy3ab8WUnGGC/6/YAfCDJRVZVKpYIkSYiiyBNPPHGodWqj0WBvb4/HH3+8b/NVs9lEAPbSacbHxszRm91gkMna2hrhUKjntr3Sr3VZxnsPCbtqvY7DZjv0qIyjk5Ps5XJ8+623+MxHP8peLkckFDKPQzfJfDabpVwuM+t287W33mJ9fR1ZlrHZbOb2Pp8Pv8vVNW/idbmod/iX2HWSNvB+KmDfy0VuJRkrOkmmUChQKpVwOBxt9gX3IyczyJncZ3SK0ozw/CBIksTOzg6jo6MHDstqNptUymU8o6P7REPdtpVkmcmJCdwu16F7cgzUJenQhGBFvlrFf5cRzVNnzvB/vvIK1+7coamqDPXpLobWyetyuZiZneW127cZm5wk5PejqqpZWSoUChTzebZyOWIOB149H+P1enHabPuWOXabjUajYf79YROTdaKTZOr1OnNzc+aY0IMimfuV+H0Q+L4mE4NIVFXlxo0bHDlyhK2trQNPFEVRuHbtGuPj44f60dbX17ELQlcPEys0TWM7kcBusxEMh++p1VxqNPo6n/VCtVa769fZbDZevHiRP3vlFYK6jcChXicITMRibO7tcXZuzpxGZ5Rn7W431cVFjh0/3pqRU6uRy+XI7O6SqdVaJKMTjCiKKBYbgu/H3hy73X7oSMYgGaMT+WEime9bMjFEaaqqsri4yOjoKMPDwyQSib79Ns1mk+vXrzMzM4PNZqNUKvX9nFQqRbFYJBqJHOi1kU6n0XQPC0VR9lV6DCiNBvlCwVRrut1uM+8gKwqRe8iZVEQR3z0sj2KhEKePHOFvvvc9Xnj00UO/bjQaZSeb5WwXAgr4fNT09oNgIEBQJxlRVXGm0xxdWDC7t4uFAmvvvNNyn3O7cblc1Go1isXiAx3l8H725vT7nPdCMuPj4wdGyvcT35dkYjSJNRoNlpeXCQQCZqeqUaHp9brFxUXi8TgjIyPkcrm+xFMoFNje3ub06dNkr1wxS77dUCwWKRaLLCwscOfOHZQeJ1Gz2WR9Y4NIJPJuclOSzLzD7t4evpERGo0GDqdzX3KzF6qSdE+JW4CLCwv80Ve+QrFcZuSQzvVjIyPcSCS6PhcMBJBEcd+F5HG7kRUFh8Nh2iXaPR48o6OcffLJVtJaF+BZvT88Hg+BQIBgMNjmYvZe8LAvpw5DMu+XkZSB7zsy6fRuBdoUqP2a99bW1nA6nUzrrfT9tq1Wq9y5c4cLuhmSIAhmz00nrLoT48RRVHV/Y6DexxOPx4lGo21aElVVEUUR9fZtxHqd1dXVFqFYlgSGHqTbhSTeY64FoFStcmx2lrfu3GFhcvJQJ/9QNGqacXeK3GyCgMftplKvE7IkoD1uN5IlPwKtnInaaJht+eFwmFKpxFndlc4Y9dHNxaxzGXCQH6sV71dkcr89YK0k834O4ILvMzIxSq6GurVSqexTt/YiCGPs5JkzZw7c1hjEdfr0adxuN5IktYnR2rZtNLrqTlRVxdFxsu7s7OByu4nFYvvuKsZsF18wyOzMDDO6ClexNABae3OcTqdJLj59WTF6j0rLQrHIkakp6rUad7a3OTkzc+BrbIJALBBgJ59ntov8PuB2U6xW28jE5XK1JVvhXTIx0BkxWM2YrApiq1ViuVw2Ixqga66hkzge9sjkYcT3FZkYg6/z+XxPdWu3ZY5hcNS5fa9Gv2vXrnFUl6WDXkZs/c++bddWV5ment5Xilb0crIBw/Jwfn6+RUo9QtSGorTdyRwOx75wt7M3Z3d3l42tLYbm5lheXt7nz3rQRVOoVgn5fJyYmOCtO3cORSYAw+Ewe7lcVzLxe737NCVupxOpszRst/clk17oZZVo7cnp9EkxqibBYJCGHg29H3hQnzMoDd8jDO/WSqXC+vp6T3VrJ0FYDY46t+/V6Dc+Pr7PnKbbtuvr6wwPD3cdIqU2m2YCtlqtkk6nW8ZAuuF0LyiqiuuARGq33pyhGzeIhEJMT0+byU3DnxVaClhrJGMVmxXKZSYmJpidmuLtO3dY29npqW61YigSYT2d7vpcwO2m3GEW7Xa59gnU7Dbbvnk87+Ui6df4Z+QaisUi1WqVt956yzSJNvIxgUDgUAT8g4jvCzIx1K2iKHLnzp2+6lbrRL1ardZmcNQJw1rRwMrKCj6fb1+jn3G3tC5NEokEXq93H+lAqz9H0X0sZFlma3OT+YWFQ62dFVW9p7WwrCg4HQ5zPq81y2/kHYxlQTqdRrIkfTd2dpgeH0dVFM4cOcKVlZVDkUk8EuHy2lrX57xuN6VO6bxeIrXmWew2G80OOf2DQGdCM5vN8oRupWCd9re5uWmOFLUulfrNLf5BwYeeTBRFMZ3kb968yenTp/uqWw2CMPIep06d6ilisxLP9vY2kiRx+vTprtsKvDtDOJ3J0FAUjvQY2iUATVU1lbDTMzNtSUqB3grYZrO5z8bxIIiyjMNm60lW1ryDlfyMpG9VFNEUhZXVVSRRZPH2ba5Go0yMjPQ1ZIqFw9SqVRS9QmOF3+tlt1ze9xq304nYaPQlk/czlyEIQtdBXMZI0XK5TCaTYX19HUmSzOHoxn/BYPChMXx+0PhQk4nRC1OpVCgUChw/fvzAubQ2XVF57do15ufn+wrNjKVLJpNhb2+Pixcv9u0w1ppNSqVSV+uBffugKGQyGZ49exZ/H/l9JxRF6WkP2QuiLOO9hxPabrcj2GyEwmGO696sABVFIVksMj483Jb0FQQBm82Gy+XC5/O1SrZeL5lSibGOCM3Xw1nN5XAgNhoYl67NZkPT/V2M6O9hyGV0GykKrRYMIx9jeLHKstxm+GwsmR60j8kgZ3JIGGtcgL29PY4dO7ZvIHU32Gw2EokEU1NT+wyOOiEIgmkEfVCjn00QUPRhSt2sBzremL1MBo9eubkbNFX1riOTuiThdDrvaYlQrlb3Ob+dPX6cL738MrFYzExuakBar5goisLu7i71ep1yLsfla9c4f/RoW9LX6/GYoy6scDud+yT1giC0ql8Ox/tKJvcCp9NJNBrdJxbrdJUvl8vm8vzWrVttOZn3u6R7v/Ch3GtDlKaqKslkcl9ZsN/r9vb2cLlcBw4gh9YJIIoiH/nIRw68i6jNJtVajRMnThy4rdJoIEkS8T5E0uvCV1X10HYFBkRZxnOPd8FytbpvoFckGCTm97OcTJqVHYHW3drj8bR1z1ZVlZIo4vP52pK+cqPBdiJBcmfHTPq6XC5cDgeSLLNXKLCeSvHK5cvc2d1lfW8PQdMol0rU63XGJiZwejy4/X584TCBSASfz2e6owUCAd54/XUcDgdPPf30PX33+4lurvKqqvL6668zMjJCuVxme3t7nxDP+t/Dbu/4oSMTg0gURWFlZQWv13voO9WmPhy7c/3bDYqicP369UM1BhqkNhyJ4D1Ay1GpVJBlmaGhIbJdvFAP2ie7w3Eo42crpEbjwApQL5Sr1a4zjI9NTx9KcxKPREhtb++7W2uaxneXlrDZbGbSd2t3l29973t8/RvfIGK3U6pUGHE6iddq8NZbHJ2fR9QrUdG9PRrNJnKjgdhoUFIUJEFAFARqzSa3k0m0SgVvKMSda9c4efEikUiEWCxGJBLpe/cvlUpcvXqVixcvdvXjvV8wxoPG4/G2KNnQS5XLZSqVCpubm1QqFZrNpjmz2Fgu3Y0Q70HjQ0UmVnXr9vY2mqYxPT3NxsbGga9NpVIUCgWmp6fNuTW9YO3POei9NU3j9u3bRMJhbAfcOSRJYmtri0AgQF6W6XUKmBGXpVTrcrlQLOXku4Eky7juMXQu1+uEuuSV5qenee3mTWqiuH8UqQXhYJByF7sBQRAIBwJ4/H40SeLtK1fIrq8zX6sR93pZqdV4NBplPhTidibDTjLJ8akpPDYbbp+P4Uik50V0eX0du8/HUxcv8s7SErVvfpOtmzdZtNmoaRqizUZgaIjoxATx6WmGRkbMC1pRFP7od3+XxHe/y3fn5vjkD//wPR23w6CXmbR1CFcvIZ5V7WsdjG4slz6Ipr8PDZkY5UujP8OQVBtzbPshn8+zvb3NxYsXKZfLfbc3yMHIBxxEJmtra61SaywGfUjKSBbPzMyQyWTQ6JEg0zQ2NjfNiWyVSoX03h6yLCM1GhR0u0lDkHWY0LehKLjfA5mMdoyVgFZuYCIe5872NhctydlOhPx+8sUiuVKplZx1OPC4XGai9m++9z1Sd+5wzOHg8bExNptNXt3b48TwME/obQ0NrxexXEYQhNYEQFlmW+/+djiduF0u3B4PbrebdKXC2u4un75wAb/Hw/HpabaSSR6zzFRWVZVSvU7pzh2KV6+SBKpARdNY2tkhJEk4NI03vv1tzly4QDweP1RFpl6vc+nVV5mYm2NuYeHA7e92zEW/mcWdQjxFUXj22WcP/d73Ax8aMjHyF/l8nlQqxYULF7Dp5c5ejXvQWlYsLS1x4cIFHA7HgdtvbGxgs9nM/px+ScudnR2q1SoLCwvcWFzsSVLNZpO19XVGR0fx+/1kczm0ZrNr7iOh54Disdh+86FikSubm9hsNnK5HNvb212l8x6Pp+0klfUenntBVRQJ9FjmzU9NcWN9fR+ZVOt1/uDLX2Z3a4tGrUZ+d5cvbG/jdjpRAEUQsLtcvL26SrzZ5JHxcQS3m5wocrNQQFNVHrOMEFVkGb/Ph6QohAMBXLJMTF8WKIpitlBk83n+5uZNLk5MUMxmqbvdaM0mZb3pzSBvu91ONBAg2lH5u7G1RRN47NQpbiwvk7l5k7/4X/9XqoA/Hic+NWVGMkNDQwwNDZnHtdlscvWNN7Cn02w1Gocik/slpRcEAb/fj9/vZ1RXG38QSeoPBZkYMvlu6tZ+5CBJEjdv3uTMmTOmwVG/5r1UKmVGPAf9GPl8nmQyycWLF5Flua/VYiKRwO/zmTkDgVbCtvMVuVwOWZKYPXKEZpfvpMH+HhTapfOpVMp0nHe73Xi9XrLFIqOh0D1Vc6qSRLBH3mB2YoJXrl5tW+pcXVnh29/7HrZcjqcnJ4mNjvLy7i6nNI2zutCtJoq8vLLC6UaDqeFh3DYbqVKJ17e2uLS5yZFolG9tbBB0u/EKAol0mujcXMuVPxBoO9YOhwOHw4Hf7+fSzg6PHT/OYwsLyLKMLElUazWy+Tzra2sIdjsul6stknE4HAhArlLhViLBJ8+fJxIIoIkiK8kkH5uaallR1GoU9UgmoWlUgLrNRmB4mPj0NM5gkGC5zPHJSd7Z2zsUUXw/zcyBDwGZHKRu7UUOhsHR8ePH23QcViGaFdalkPUkEARh34lRq9XMaOegkyGdyaCoatuUO2OfrYRlldQborWmprUlW5uatt/tnv3SefTXizrBlCsVHLLMUCjEzZs393UZ96o+NRoNGqraMyfisNuZiMdZ2t7mwtGjfPfaNb7yla/wkXic5yyDuI6Pj3MrleLU1BRNTePtzU3G4nGORKNgtzM7OkpVltmr1/nvzp+nLkmMRiIUazWurq9TAppbWzRVlaOTkwScTqYbDaJ+PxG9Se/m9jayJHHx5EmwHJNAMEg8HmdiehqXw9GKcCWJeq1GIZ83GwtfWVvjxOgoLl2dDOBwOpEbDXxeL5FAgEhHJGMsl7YvXSJpt/OpT34SQRCw65KCgxz6HuQ0vw8CDzWZGN6t1i7dTnVrp4wdWox/7do1ZmZm9mlPOiXy0LqQrUshK2yWCXyAOdz81KlTB54spVKJXC7XIghr5GIQlP5Yo9FoSern598lpy6Ep6rqoSs5Au/6tEYiEeZHR2nUapw8edJ0NysUCuzs7NBoNLqOGa3U6wdWso5MTHBnexubzcbXvvY1ngyFeM6SnwAYCYXYLhTYzmbZK5fxeL2cGBsjsbtLvdGg2Wzy6tYWR8NhJv1+Erkcs9EoW7LMmdFRxoeHEYeGWNrcZCIaJVcus7W3xzVRRGw0UDWN7UyG544fZzufJx4ItDn4OxwOZEnC7XSa7QRWvLmywnAoxPHJScqVClI2iyxJ5vGJx2Lm66wXv91ub413FUWefewx0y/GMME+jN3n98toUHiIyaRUKiHLMoIgcOPGDY4dO3aguhVaOY5bt24xNDTUlqQy0BmZdNoJdNveCEeNKs/c3FxX5az1BxRFkUQiwUK32Tm8m4tp6mNBp6anzXERvaCo6j1VcxR9XGijVjMb1zpVt0YEWKvVSKfT1Ot1dtJpCtks24lEa+i414vb42kjtJnxcb7+1lu88uqrnPZ4uNClZ8fr8RDyenlne5tQKMSTej7E6XBQFkXe0TUk58bGqOrueNVajUQ2y5mFBWqyjN/rxSEIzAwNMaX7vUBLkPenr7/OEzMzeBwOlpNJ3q7XUZpNgj4fQY+H7WKReCbDnMuFryORmioU2Mxk+JELF8yyvqZpbG5uMhSP4/Z40DSNYrGILEmo+gQ+Y6m0W6sRmp8nbrlp2aBvXs7AYJnzPuFXfuVX+JEf+RH8fj8zMzN97eesF/Hq6ioul8tMoHbCGpl0sxPotb3hwmYk3jphjV4UfQD57OxsV32HSVCCwObmJvFYbN/nd7uvNDXtnk4+5RCqWau7mQH76ipFmw1/p+BMVcmUSlREkaaq8uVvf5uxRoMnT5xgq1Ri0uUipFdsoGV6hKqyks3y0ydOmIlnp9PJTqVCoVrlh3TjKCMHtry93er9cbsRJQmn3d7KD3WYSr2ztcVMPM7zFh8aaAn1ivp7rzQa3Nja4sbOTqtr2Osl6vXic7t5a3WV544fb9MHGclal9OJy+Vq18fQGjAvShKZYpF1SWJGFLlx44aZoyrpVZVgMNg3Qhgsc94nBAIB/uqv/op//I//cdcIoxsSiQT1er3N4KgTxrKon52AFUYks7Gxgd1ub8t9dLwx8G6kMTY21lPwZOxDrlBgdniYeBdy6gZFUe5asAY6mdyDaK0mioRDoTbB2c21NV795jdxl8v4VZXb6TTeTIbZeJxMLket2eRGJkMDCHi9hNxuQg4Hl3d2mB4eplyrEdGjIgW4ksnwdy9cwG9p7CtXKkRjMSaM46IvC50uF7Ik4dCP60Ymw04uxw9fvLhv3z0uF55YjNFYjGq5zFg0yuT4OOV6nUK1SrFa5bWlJSqVCm+tr3M9kSDo9RLWoxmpXm8RR8eS2FD6em02ypLEc88+SzQUMqci1ut1xGyWpaUl1tfXzUpLNwuDwTLnfYCmaXznO99hfHy8Z4TRiXQ6feC4T3j3IC8vL/eeG2yBzWYjnU5TLBZ7TvQzHtM0je3tbYKhUN8+IUEQqOnJ0UlLCdSKbnUXTd+fu0VDtx+4W9QlqS35+s7yMt/58pd5NBolFo2yVSxyfXeXHz93Dk+zyampqZZ9gNtNtV4nX61SliTWd3fJiSJCtcr6zZucGB8n5PFwPZXCoWlELaRblyR2s1keP3fOfMwmCDR1Hxe50cAP1GSZt1ZWeObo0QNd9+12u0kKQa+XoNeLqmkMBYP8/eefx2m3U6rVyOskk0yn2dzdZbdSYTSd5sj4OGGvl6jfT8zvJ+TzsVUoEJ2dNQfIW6cijssyJ8+cYWhoyOwhK5fL5PP5NgsDQRBwu91ks9nvi+7ih5JM/rf/7X+j2WzyiU984lDbG638jzzyyKGWAbIsI8tyTzsBKxRFIZVK8dhjjx14IauqSrPZZPSASKqh2yZMjI/37LPpusy5xzuZcg+2BdC6YI1u31ypxHe+8Q2ejMUIeb0URZGriQRTHg9np6ZY296mpvcAGXfg0eFhZEWhsrjIJ+bmiAaDbGWzzDocXE2lqBWL2JpN/uLWLQS7nZDbzV4mA14vBUkipovcBJ1MnHo1BuCV27eZHxpi/IBmTdANliw5jJos8/bqKs8eO4Zbj9is1ZqGorAbj5PK53G63QSCQQrVKqupFJdrNWqNBqMLC/xwD4sJeHfZ28v4WVEUlpeXkWW5rbvY5XK1KVk/TI1/D+Ve/uRP/mRr7XnAmAnAdA27ePHioUL5TCaDoiicOnXqwFCwXq9TLBY5ceLEgT9ouVzGo6pMTk72fd9Go0Eul2s5rx9EfJrWpqlQmk3uJV2n3GNkUpMkM5fw8ptvMqlphLxelGaT1zY3mfF6aTochP1+wn4/+XKZ8Y4l42Y6TTgQIGS343G7SddqDA0P467X+e9OneLG0hJnpqepSRKLW1u4Gg3yksR3V1eRNA2P243bZsNTr9PQNESnk2yjQbPR4LzFKLwf7HZ7m4Pb95aWODI0tM8WwYCml+1dbjcRv58ZS1JZUVUupdOcevLJnlYQh1lgOHSjqlAo1BYdy7Js9uQkEglzgJzH4zEJ5mHryTHwUJLJ5OQk4XCYVCrVdztZlrl+/TrBYPBQRGJYNHq93gN/CKPRLxaLHUgktVqN3d1dZg7IfTSbTdbX14lGIiR1eXg3GNJ7AJ/f35JQe72tnMk9nEDqPXigQItM/B4PhUqFjdu3+bj+/d7c2mLE5SJkt+PQS8eRYJDVZBJrLaehKGwXCjw2N0ehUEDSTZK+vrrKc9PTxINB/F4vXp8Pl9tNKBjkqfPnuba8zMLkJGgauUqFdKlEOpMhpyhcq1TYq9V46vRpXr5zZ9/yoxvsdrspAlxMJhFF0dSjdIORgBXYX5XZKhaZOHGC4X4FAQ7nCNfNmd7lcnVt/OvmwK9pmmmO3dmTM8iZWGCMS+wFoxKzsLDA7u7ugf05oiiaFo3Xr1/v64thlIBnZ2fNbs1ekGWZmzdvMjU1ha3R6HkSGfmUUCiE0+Xq/Z6axubGBpFolKF4vCWw0p3nV1dXyReLLMVipuDM6/Xi8Xp73g2NO/LdVoFqosjqzg6j6+vcXFujlsuR8nrJVirUajU+evQo31ta4lFdUxIKBKiLYtvFt5XJEPL5CHg81J1OyuUyK5UKcZeLI3pU4NQtB9Z2dpgeG8Pr8Zhl14DeVjAlihRcLjKNBt+4epW/feECEb+fcrVKulBgo9mk1mggOBxEgkGCHg8Rn4+o3088EGiJyFSVUq3Gta0tPnHqVN/jYfRNdTZuFmo1qn4/Fw/I42kcjkwOu2zt58Bfq9Uol8uUy2V2dnao1WoIgsDJkyfbrCDeDxyKTARB+I/A3wL2NE072+V5AfgPCwsL+Hw+/uAP/oBH9elv//k//2f+1b/6VwD8z//z/8zP//zPH2rHAoFATzLRNI0bN24wMTFBPB4nk8n0resbatgTJ06YUUmvGr+maSwtLRGNRhkZGaFWq/Xtubl+/Trz8/NspVLYFKXntplMhmazycjICIVCAa3HiZRKpXC53UT1NvmQy2V27eYVhXChwMzMTNtYTUmS2k44oxnM4XDcU77kneVlvvnNb5K9fZtUuUx2Z4eQ38/l7W1u7uxwcmSEP19cJF0uEy4UiOmlVr8+viIajaI2m2zl85zXLQrcbjdLGxvQbHLEotR12O2sJ5M4PR5G9Lu9XRBMFSq0PHMFQWCjWCTi8/HYqVNmDkKWZbM3p1ypkC2VKBeLbOZy3FYUaopCVRSxA5WlJY6PjKBCVytJE5bIxCAFRVXZFEVOPP74gVHeYWOC91rNsfbk3M/3vVcc9iz7A+C3gf/S4/nPAMeWlpZ4/fXX+Uf/6B/x+uuvk8vl+Jf/8l/y1ltvIQgCjz32GJ/97GcPNbKwF5lomsadO3cIBoOM62vZfv051ijDkJv3I5Pt7W2azSYz+kXQS65vdBcPDw8zNDTEFq2Tvtv9qFQqkc/nTSWsrcd2xUKBSrXK0YWFfS7txnex6RUAt9vdVjFqNptdla2SolDM500yO+hEW04keOkrX+GC308sHudoLEYmn+epuTm+tbrK5x99lIlQiHc2NwnYbK1EYjZLQRTZyWRwZrOc1zRkSaLWbJqDxERNYymf58fPnqVosSSQRJG8KPKUpTHOuiyBVjVnO5+nUKsx35FwNWTzwWCQoaEh5rDMTxJF6qLI7Y0NXl9awuF0okUifOvqVURVJagvjaJ+v/lfyONpjRoRhFZJWieTzUKBoYUFwgfMk74b3O8BXAZsNtsHkrQ91CdqmvYdQRCO9Nnkx4H/IgjCDz/11FPmyfzSSy/xqU99ytRxfOpTn+IrX/kKP/MzP3PgZ/Yik83NTZrN5qGm9HXaCRy0fTqdJpPJtJWXe227tbWFIAhMTU2Z/R22LlP9DCWsdZqf9SS1bpdKpd4dd9EFzWZz3+Au63fqdpfazWYJrq+jKAqNRoPFxUWzCdCIYLxeLy63G1VR+Pq3vsU5vx+/w4HDbidXqRDx+XgzkeBIIGAuTwTg4uQkYxZC29zZ4drmJlG3m9cTCVxeL39x+zYCsJjN4lFVaqrKjr501DSNfKlEJB5vE/fZbTYaluNYVxTeSSR49tw59lKpA+/8Vj+QMLBXreJKJvnvPvUpXDYbktEAWCxSqtXIlMtsqiqiqqLQ0qi49N8y5vXizeeph8Oc6KUxukcMdCbdMQlsGX9MTU2RSCRIJBJtOhHj8cOgW87EMDjq1Hv0ikzW19ex2+37tCrdti+Xy2ZHsvUH7kYmmUyGbDbbRjqapu2b6qeqqqmEbWtONEhH31ZVFDbW15mZncVuuaN0rruNz7gbaIJAMBBgbGyMbDbLqdOnwTLawmgwlHQ9SHVri4Deo2K32ShUq2REEY/dziN6tNZsNinUapzuOK7xUIiQw8GQ282RcJjnTpwA4Otra5yNRlFrNVLlMjezWcrXryPqDZyzsky0WCTq9RJwufb9Pq8lEswEAozH46QSib4d2p1QFIVLGxscGxoyS78+vYN7anKyparVbTRlfam0VyhQqtXYzGbZbjRYkST+9k/8xIHmV3eLgQL2fUJnZJLL5UgkEqaPiRXdyCGVSlEul7sKzToJQpIkbt26xdmzZ/dVhWx6KG+gUqnsM5gW9JBYADMy0TTN9DDpVMK2uaxrGusbG4yNjR3YVKdYmgMPC7XLTGNrfsWKm3qzHUBZrxyslcvIgsBnjx1rGVE5nVR1PYS741gJgkDA6+V2IsFoNIrNZmM1n0dqNPjMqVOsbm4yEo8TEATG/H5Wm0080SjpWo07mQxFSTLdxIIuFyc0jZTuiXp8dLSVAzpEz4sVb6+vE/f5GOsxAUCAlmze6YRAwKykiPU6o0NDrGUyzDzyCKVcjkwqhd1uf7fjWo/q7qVSBoPenF5IAOZtant7m8nJSSYnJ3nppZewPv6xj33sUG/o9/up6GvrSqXC8vIyFy9e7LoW7Gzey+fzJBKJnqMprORjtSroJn+3bmtUbrqRjrEfRjSRTCbxeb1d80MGiUDLDMnv8xHuUMx222/tHshEtmhMzM/teA9N01AUhcTmJh8fGsLtcOCrVPDZbGyn0/z8I48Q9floNBrUazU202kUWSabzeLU+1ccTidoGj6PhzvJJBfm5ymJIpd2dnhhZga3w9FynpdlnHY7a6kUjxw7hqaqhAsFzszNAS1B2eLmJgVJYj2X41IyyUwsxreWl5nSNFbTaaYzGSbAtB/ohUQuRyKb5cnZWXb29g5/0DQNm82GqKo0h4Z40iJYVFS15R1Tq5HLZqnpjYmGQZVhnH1QdREGy5xe+BLwi5qm8frrrxMOhxkfH+fTn/40/9P/9D+Rz+cB+NrXvsZv/MZvHOoNnU4nzWYTURRNg6NecmO73W4qI612Ar1Y34hMjP6cqampnvJ3Y1tVVbl+/TpHjx7tSjrWuS7ZbBZJkpjTL5BOCIKAqmmUSiWG/P6e2/X6jLuBdQxpJ1K5HCtra1TLZar1OjZgq17HCexVKlza3WXW7+eIkfTUI5lEtcqRoSGCoRANWUas12mUSsiNBsVqtTVHR5Z5KZHgdCzGsL68cLlcSLJMoVjE6XAQDYUoVSpt0YbP5WI8GMTndLIkivzU+fPMR6OtnEs8zvqdOySyWVbTaeqNBgGPp9VTo2tNYn4/fo8HUZZ5Y2WFJxcW8DgcPYeadT3OtBoKE40GY7OzbRe8w24nGAgQtDRmGgZVRotEOp3m0qVLRKNR0zHf0IJYDdAfVAL2g8JhS8N/BHwMGBIEYRv4vwNOAE3T/j/AXwM/Ylxo/+k//ScAYrEYv/qrv2qOWfy1X/u1u5oTY7PZ+MY3vsFzzz3Xd1BV55S+XnYC1vdtNpssLy8T0PMJ/bZVVZXFxUVGR0e7j/vUlzk2m81UzR49dqznhS/YbKiKQrFQYOappw6dA2g2mwh32bAnK4qZtLUur3YyGW5evcqM308wEuFqschkNMqp2VnERoOtWg1HrYbL5+NyuYwX8ABem429SoWJWOzd5YH+29RqNdbyeWJ+P68nEthkmaimsbOzg9PppCFJJLNZao2GSVAOh2PfEtXucPBOJsNUPM5Rfbug18v0+DjjoRAfPXUKn89HQ1EoVCoUq1Xy1Sq383mK9ToqrSbAuM9HWZKo1uvmzeYw0DSNrXKZ8MwMvgOWntBuUBUJh6kJAkcff5zh4WFTB1IqlcxGVGO0aL1ep1AoEAqFPvR9OXD4ak7f8ovWiu3/CfCPO5/7hV/4BX7hF37hrnfM6FkoFov7pqZ1wm63m1P6+tkJWLdPp9Ooqnpgf47NZqNUKhEKhXo35Wkai8vLJMplnMDjFy70rTioikJdFDk2M3OgeMqKpiDcW86kI6mrqCqLt2+zEAqZk/5y1SpTQ0MEPR6CHg9DgQCC08nE6CinJyepyzI1SaJYqXBnbY2oIJAslVoEIwh4HQ4UUaQoSfiCQZLVKj918SJePSpQGg1kRSGdzzM5Ps5eNsuuxwOCQLVaRRJFHC4XdpuNnWqVfK3Gj1+4YO63GRtYNChOh4PhSIThjqjy+tYWYq3Gxbk5cuUyyUyGpe1tMkDI5zNVs1anNisypRKNSISReBy1S4n+IAhgSgC6DUlXFMVUshp9OQ19JKoRwRjRzIcpcnkoE7CapvELv/ALNJtNfvZnf/bA7W02G9lslrm5uUNFPqIoUigUeOKJJw5cNhQKBSRJapVs+3z+2Pg4pUqFOvCtmzeR3n6b4XCYsUiEkWiUkVgMv89Hs9kkkUjgcrlw9rkbNRQFRVHwBwImMWn3MOpCVhTs+ncUBAEN2M3lcEsSXstJnq/VuGiJ/mRFQWo2ifh8OO12nF4vIV1puzA9zUfOn0dSFGqSRE2SKNVqXN/bIwmoosiww0FRFJGdTnwOB06nk3ylgsfv5/iRI9zY2mJ4eBhZlluzkGo1GsUiFVnmtY0NZt1uGpKEoGk4dZ9WY8nWT6BYFUUWk0k+8+ijJskUKxXG3W7Onjpl2g9s6k5tkqLgd7sJ6gQT9HrZbDQ4ee4chWoV5RC5j7uFw+EgEongcrnabmaSJFGpVCiXy22zcjol836//8Dz9sOcM7mvUFWVv/N3/g537tzpr1TUkUgksNvtpoitHyqVCtlslqmpqQNZv1wuk0qlCIVCfRNlmqaRz+V47MQJ/IEAQ0NDiLLMTjbLbi7H2xsbFN55B6/Dga3RYCwapVStdjWNhlbksra2hsfjMd3mvF4vmWwWTyx2qGNioGmp5hgJ2NTuLjGLtYCsKNQbDSKWXJDUaFBXFMId+aF8tUpY7//wOJ14nE5igQDE4yzt7PD4+Djj8ThvLS6ijo2xV61SrdUoZrPsVqvY7XYqskyhVgNdD+Lz+fAHgzjtdq6srXF+YgJHvU5TVSmVSjQaDTLVKmowiKqq1KpVgj26aV+9c4djw8Nt0YpNENAEoasjvdRomARTrFZZSacZP3WKgNdLqVY71DHuxN3bdrdgiBE7+3KMMRbG+WhI5g2fFINk3G73Bzo69aEkE4fDwU/+5E/y27/921Sr1b7LnO3tbRRFObCsCu9WYyYnJw/Mohvl4uPHj7O9vd13242NDewOB4Fg0CQIj8vF3Pg4cxaCu7O6ykYySdnh4J2NDVKFAtu5HKORCKPRKMPxOCG/v1VSHhkhFo/jdDhMdauwtkZZr2wpioLL5WqTzxumO1Yo+tQ4A6qqks9mGbc4qpVqNfwd/qZ1WaYJhDo8dw0y2Xe8Gg32qlUuHjnCxMgIt1dXGQ6FCIyOIkkSf1Mq8dhTT3F1aYl8KMSW08kb+TwBh4NdWSZcKJCTZVRF4fzMDIsbG22ub0KphD8SwW63my78SqOBzWbD7fHgcbtZyWRar+/oJha6iAkNuJ3O1vGPREiXywSPH2d4ePiu9TyduF8XdbcxFtD6HQ2flEwmw/r6OpIk4XA4iEajnLP4wbxfeCjJxIChNelFJplMhnQ6zalTp1hcXOz7XlaLxkajQb1e77vt9evXOXbsGD59adILhnHS6NiYOSSqGyqVCigKn3jmmVYkk8lwZHKS8bExdnM5rieT5G/epFwsMhoOc2x2FqnZZGJkBIfdjt/vJxQKMRWNcnJhoW3EhSGhF0XRVH8aBCNKEiFLMrpcr+PsWC6V63UClm1kRUFSVXxd2tyLtRpTXbqjtzMZYn6/OewrGgyyVygQ8Hq5urzMxOgoCxMTZDIZRiMRZqamOLGwgN/jYVeWEaNRVFEkFgyyKEks12rEy2V8NhtehwM0zSxDB4JBxvQLq9lsIokiqXyeyysrfGR2lo2NjZZPqz7OoglmKb4XZEUhqaqcPX6cYqFg5qbuZTzIvUYmdwO73b7PZhPenS/1QeDQZCIIwg8D/4GW+fbvaZr2bzqe/80LesKsVquxt7dHQZ+la7fbTaacmZnhS1/60qE+s1+zn2EnYGhJ+q2jDZNpw6LR6FM5aNtoNEpDd0/vBmOOz/nz53ltZaWrnB5aP/D21hYLuqReazbRAJfDwfToKNP6hZHP51nf2sIdDLKTzbJ4/TqiKBILBBgNh1nf3ias51l6jrjQRV8GwWxubxN0OPA7HC1p/84ONj1PYdw9y6KI30ImkiyjQpvDu4FCvd62HDKwnc8zYdHUxMNhcqUSLqAgSXxUb/n3ut1UJQmvy4Uoy4yEwwwHAgyFwzx6/HjreCkKiXKZwOwsdVEkV62SKBQI5XIk63VGCgWcfj8+lwuPTho3dnd57vRpThhTABsNJFFElCRK5TLpTIb1jY1WR7LbjcfjweV2m0vAtUKBidOn8Xu9FHK59xRZfFAWANA6Jw5yxX9QOGxp2A78DvApYBt4UxCEL2madtPYRtO0XwL+KbSc0i5fvmy+3uv1cuXKlbveuUAgYArXrKjX66adgNPpRNO0vtHD6uoqHo/HNKHpN4jLyFUctK2xZDL1L4LQavTrMnZjbW2N6ZmZd4Vuuv9n53fa293l/Jkz2O12TkxPY9cTjzu5HLvZLBu5HNlKhRtbW4xGIoxFo4zG44zEYuZ7W0dIAkyk04yHQswfOcLS0hLpUgmpXGZdv3u53W520mki4bCZi5FlmYaqtkUr0EpuIgj4O0hGUVV2i0We18kAWgPLFzc3SRcKXLS0/HvdbuqiiM/lombsg8uFrPc3QYtkgx4P8WAQl05QQ7EYwsICi6USytQUpXicVLGIXChQyOdbS7JgkGKths/txul04nQ6CQSDBEMhNnZ3mZ2ZQZIkRFE0R1qoikJBFKnE40w4HFT1LnHBZrvnpc5hopl7iXgOiw+KyA4bmTwJLGuatgogCMIXaTX33ey28R/90R/xL//lv3zPO+f3+6l1JMEajQbXr1/n5MmTZp6k38EzPB7Onn3XOaFXL08qlaJSqbStN7uRidGJvLCwgN/vf9eir2OZYx2ZYNXJdO6v0ZtzZG5uX1LY4XAwPTLC9MgImWKRhfFxRoeG2MlmSWWz3L51i0q5TMTnY1SvHI0ODREOBrEJAoqiYLfbzYvL7XIxPjlJ2OdD07RWC//WFjZFIbmzg6oo5MplCsUi2vg4oiThcrmwCQKFapVQl9zUTj6P3+vF43TS0EupQb+f3VSK06dOEbeE4l63m2KhgM/rpaZrP1x2O1KHDsRhsyE3GubAdYfNht3hIBQIMByPc0rv+1FVlUK5jKSL5/aKRWrlMsgyXsBLy9JAVBQ0TTMbAA1IjQa5UomzZ86gqKo51TGXz5NIp1t9SIVCy8DJ5TqcvcAhIpPvN8EaHJ5M2hr5aEUnH+m24cbGBmtra7z44ovmY6Io8vjjj+NwOPgX/+Jf8Lf/9t8+1Id2RibGRXzkyJF9a8VuTG8d4Wn9cbsRRLFYNCf6WbftPCkMC4Th4eF9WXdBX8IY2Nvbw2G393SfF2w2szdnfHx834CxTjR1mXfI7yfk93NCb7xTFIXdfL5FLuk031taQlMURsNh7mxu4rPZmJuaQtA1HRP65xiGxjgcHJmcZFg/ptrWFnaXC7fd3hpZKsst06Z8nqaiUKlW20ZrJnK5tu5haHUQ230+Yh35Lq/XS313l1AkQk5fBrvc7n3LWafD0YpWdPKy22yosryvV8put7fNrDEgyTI1UaQmihQyGVZv3OBKsYgb3tXGOJ3s1GrMnj3LuCW5ubG5STQSQRYEcrlca3i83gx5mN6cnkPprb/lB+Q58iBx3xOwX/ziF/nc5z7XxrobGxtMTk6yurrKiy++yLlz51g4xGBna87EOrfG6jbVC/1GeHaSiSiK3L59m3Pnzh2qDK1pWtvIC1MBa4lMSqUS5VLpwO+Z3NnB5/Xu680B9iUNNSziLQscDgeTw8NMWo5LpVZjJ5vlzZUVLm9scDuVolIo0KzXCUxNEQ2HCfr92ASBuiy3LV3UZhP0fI5BEk1NY6taJerxUKtWyedyZtRza3OTj548aZaxa/U6Nzc3OX7kCIVyuW1ffV4vkiThd7nYNiITpxPJssyBFpk0LI/ZbTakRgM7hxtw5dZnCkdDIUZjMS4tLfHU889T1xWxtVqNXKGAf3iYSQuRtA5768bgdrsJB4Ntv7Wqqi3ZfEdvjsvlMglGPERvzg8ymbQ18gFT+mP78MUvfpHf+Z3faXvMUI7Oz8/zsY99jMuXL981mayvr7dC/h6WedY7wUEjPDsb/a5fv266sPVDLpdjb2+vZwOhRktYJokiSd3DpNe6WwMq5TJBl4v5jnGavaDpa/nDIODzcczn4+TcHI8fP874yAivvvEGt+/cIVkqcVtf0gS8Xrb29iiVStjDYdxOJ5IsozSbbQlYmyAgqipHR0cZsURau/k8Ht0msVwuI8syty5fxhuJEPB6Wdna4tzCgknSHpcLRVXxOhzmMsfjcpnLIwNOhwPJGoHYbKiNBna7/a7zDTabDUH/1+/14vd6IRaDHv4k/Roq7T16c2RZpq5PREzt7vL2228TCoXatCDGOAujYPCgljkPe87kTeCYIAhztEjkp4F90tTFxUXy+TxPP/20+Vg+n8fn8+F2u8lkMrz66qv88i//8qE+NBAIkE6n2+wE+sEYrnXt2rWeIzyhe6PfQZL9Wq1mdi73uqMY77uue5M4+vTRNFWVXC7HU48+2rM3p/OiuScLAv0OaLPZCAUCLIyOclbvRRJlmc29PUgkWEwmqS4v43Y42MtkyBWLSJKEz+02P7MsSfs0JnulEtMjI6bx9urWFp54nMdOnUKSJN65c4f1zU3surzc4/HQbDQQRdEkE2dHAhZaSVgrwdhsNhRZRrDb9xHPQTB+l85B8L2gwV0lXwXejYQikQgVu51zTz5JOBw2xWaZTIa1tTVkWW7lrtxuRFGkWCx+6GTzvXDY3hxFEIRfBL5KqzT8HzVNuyEIwv8DeEvTtC9BKyr56Z/+6TZmvHXrFv/wH/5D8wf9F//iXxxqXg20yGRpaYnt7W0eeeSRvoxrrKWXlpZMK8VeMCKT1dVV/H7/gca7hufsqVOnejZkGZ6hlWqVqampntP8oBUNKYrC+JEjbWZIB+IezJFUiwdsQ1FwWI6hx+UiHAiwMDHBM+fP09Q0StUqf/nKK8jA2ysrNESRSCBAyOtlN5fD1fEbJAsFTuiRZ7VeZzmV4qNPPWUmOqfGx3H5/cyMjppd4G6Xi2w+TyGf587yMi6nk4Kem3DrlRiXw9G29LHrZGIXhH1T9g6DuzluWrN5aB/X7h8mmL05vbQgqVSKer3O1tYW5XLZlM1boxhrh/GHAYc+kzVN+2ta3cHWx37N+vev//qv73vdM888w7Vr1+5p57LZLF/4whf4/Oc/fyBz2+12Njc3+y6FDNh0677OKk83GLqNkydP9ox0DKTTaew2W1+PW03T2NjYwGa399UDlMplCvk8fn3Uhdfna0UZ99DoZxCW0mxi77SLtFRMbIJARG9MOx4K8dyjjyIrCrlCga1Uiny9zjevXsVtsxENBvG73WxnMjx/6hSapnF9dZXR0VGClspVNBQiWygwMzqKzWbD5/MxEo/j8/kYHx1laGyMgMvFlZUVKtUqxUIBudEgm8kgaRoTkQhutxu7w4Eqy61lzr2QiV6OP4xb2r042rW9nv5LDaOhLxwOc+rUKfMzrR3GyWSSWq1mdhhbZfMPa4fxQ6uA3d3d5d/9u3/HM888c6iEa6PRoFgscrHL3NlOFItFc6LfQcy/srKCw+E4cB+K5TJRRTlwfk9qZ+fAuT2SKLKbSjE9M0NTVanWamQyGbY2Nxl2uWiIYpt/a7/mP6ufSaPR2BdZ1GUZT0d0VBNFAnqlyuVwMDY0REPTOAt8/MwZKrUauVKJxc1NspUKX3/rLcrVKjlZ5mI8TlUUzYRuLBrleibT9v5et5uaJOHRNSexQIBQIIA/GCSoR3Q2p5OtTAaN1u8liiLrpRKNaJRdSWpbPh8GpqDwEGTSvAffGCvuZcyFVTZvjZSNDmOjL6dcLqMoCm63uy2KsQ7lethzJu87UqkUv/zLv8zLL7984LbGyXb+/PkDM+T1ep07d+60LsIDTqydnR1EUWyt8/tk3yuVCpl0mucvXmRrc7Pn+xUKBWr1uplw7XbSGb6xk5OTeNzuVsIvFMJuszG5tcXc3BzhQIBarUZ6b49avd7STxgG0X4/Pq8Xp66JaCqKadbckGW8HSea3Gi0mTlDa/jWaEeZulKv49cbyYJ+P0G/n51CgefHxhgPh/lWKsUjzz5LIZnktWKR5s4OISBot1Mol6nUagR0ovB7vWTTaTwOB3V9KeN2OhFl2SQTj8eDzeEgaqlySfk8W40GGq0cVjabRRRFM+JpI9jO37bDn7cvDplb6YfDlIYPkycxOoyt5l2G+74xLyedTpuFCr/fz8LCQpts4f3CQ0smFy5cwOfz8dWvfrXvdvV63XSgP+gHNCo3J0+e5Pbt2323LRaLJBIJHnnkEa5du9az1NdoNMwkrtPh6HnCiqJIamfHNE3qKrnWNLY2NxkaGsLn87WWJ5oGuq1iw6h+uN2t9fTQkNkJLOtOX+VSid1Uikajgd3hYDedJp/PEw6FUBoNnB0nsKgopqcJtPIqkqLsMwUqi2LX5OtzU1NcSaX4sc9/nvHxcdNhLpfLkUwmSWxsUFcU/s/XX2c0HCYaCOCy2ciVywyNjFCTJKCVwBQtwjW3291WGoZWss4mCDjd7jZvGVW3UjQIxijXGg78Xq8XVVEOnWsxR13cKw4pWrvX0rDVfd8aMRtD0g/SKz0oPLRkAr3l9Aas5LC7u3tgf86NGzeYnZ3dlxDrhKE7OX/+PHa7vaek3jqE62Yi0Wrw6hFtbKyvM3vkiFki7dYUuLe3h91uJxKJYHc49i1fBJsNt9NpyvZN82r0kmUwaNolCIKA0mjguXIFrdkklUqRy+WwKwrIMh63G5fbTa1eJ2LJcUiNBk3A2xGtVESRUYtXTKFSQbPZSObzxB99lMcee4xkMmk+H4vFiMVinD17lsjQEOt/+IfMxePslkrsFotcWl0lXijgoKWdqUgSPova2eVwIHdUbez6MdvnzKbnFTpNiCR9GmJV18XcvHEDn2VQmdcYVtYpOruH3FTb6w+xzYPQmRhD0g8zKvdB4K7I5KBmvz/4gz/gn//zf27eNX7xF3+Rf/AP/gFwb5P9+jX6WYdrhUKhA6f6LS8vEwqF2ubndIPRMXzixAmT4XuRyfLyMtFotFU56nE30jSNDd2l3qpj6SSeii5hn5ubw2azdc2DaLQsDTtPQmO5ZJS7VUVpuZspCh6Xi5GREQRB4J1btxjXB0+JkkStWmU3k8Glqnj1dXhN78vxdJKJJLXN8k3mcridTpJOJ7/wkz/Z95jOzs5y1W5nIho1mwEdtRqxoSEuJRJUGg1WMhkub2+zns8T9/uJ+nxtw7oAHHqUph5yuWIdVjY6NsbJU6davUH1OrV6vTXxYHvbFJ0Z5KKq6nvLOxwi5/KDLKc/VLMfwN/7e3+P3/7t32577b1O9vP5fH2n+hkjPGG/Q70ViUQCWZb3uaV13h2MjmFjcLqBbmSys7ODLMscO3asdXws72FFamcHj9dLpOO72vTGQNC7ire3mT1ypBUJ9TrJepQsjRO38+SUGg0cDofZCFmtVHCGQtjsdgJ+f+u/cJiFuTnifj+iJJEtlajU62T39qBex607zxcrFXyW5dBOLkdJVfk7P/3TB0Z6IyMjNPx+KqJoCuG8bjdel4uRcJinjx1jKhAgmc8zOzFBulQiWSpxK5Xii6++ykgwSDwQoAkoLtc93dENT5NuUYwhOqvVatRrNSRJ4uatW6xsbYEe1VlHrh7iww6VM/mgIogHhbuJTO6q2c+Kr371q/c02a+X2nFrawtN08wRnsa23cgkn8+TSqX2qVYNE2rribm+vo7b7d7n2NZJJtZ8Sr+TpjPh2gmt2UTTRW7jExO4nM4WmfR4z+ZdlizVZhOXw4Hdbm9ZRTqd+HXPU2OJVJflVqWDVi7G5fXi8fk4vrCAz+2mIcvs5XLQbJJMJmmqKpogcHNzk/M/+qMcPXr0QNd8m83G+IkTpG7e5Kh+bH0eD01VpW7JmSiKwlgkYkr4bbUax+fnEVWV3UKBzUyG69ksDpeLeCTCsG4oFQ2HD7Yx1I9fr+dM+X0kQi6f5+yZM6h6b5LdbidfKJBMJg9lSnXY3pwf2MiEQzb7/emf/inf+c53OH78OL/5m7/J9PT0e5rs14l0Or1vmh68Sw5W3E1/zp4uKT9//vy+z7RuK0mS2cfT+Z7WU7Uz4doJ47HtRIJwOEzA728tYfqchOpdrrMVPZQulUqUKxUi4bC5z4L+b0NV8Rl3e02jLoqozSZu/Xg6HA5wOBgeGmJG/w2v3LlDMxbj2U98gqWlJWq1mqmyNaoPwWCw7S4+e/o0K2+/jREb+j0eREWhoQ9797rd+zqH3S4XQrPJ3PAwc8PDnBofJ7S7y56qEgiF2MpkeGd1lYYsEw+FGI5EGIrFGBkaMmccG7iXaXyCzYa3I8nZNtbCYkqFIODVTakq1eq+5HEnHuQ0v++L0vCP/diP8TM/8zO43W7+9//9f+fnf/7n+eY3v3nf3r/XCE9416HewN3055TLZTY2Ng4c2mV1YNvXx2N5XbeEa9fvUyoR9nqJjY1ht9sPNIvW7rJk2VAUBE1je2uL2fl5Ujs7bc8bEnOvcXwEgapeCnc6neadvFKr4XO5UFWVhqJweWODR3/sxzh58qRJIoqisLm5SblcZmdnx/TvNVSdPp+PlCWh6vN4KObzuBwO6rKMT591Y4XH5TKrPdBqCGxKEoFgkHMW75SaKLKbzZLOZrm2ukrx8mU8LhdD4TBD0Wirl0jTDl8a7oPOsRYGrKZUxWKRa9eumV3Z3fQgP8iNfnCIZj9rbfsf/IN/YPbgvJfJfgZEUew5whPayaHZbHLjxg2OHDlyYH+OLMt939fYVlVV7ty5w+jo6IG5no31dUY6Eq6dUJtNiuUyTz7ySItIDqnMvJvQWFFVMtks008/DYJA5yslWd5XyTBc0ACTuOqyTMDjwW63c2V1FQIBPv3pT5uTAI2lqFFRmrUMrjL0EKVSiayqcvXWLSI+H5KikM7lcDgcVCQJv8eDw2ZDkmXc+ud7XS5EC5m4nU6Q5X0JWJ/Hw9zkJHN64r/ZbJIrldjLZNjJ5bixvs5bV6/SbDSYm5piOBZjeGio1fB3n2A1pRpXVR5//HHcbjeyLJt6kEwmY1YnjZsTQDAY/MDc0e4n7oZMDmz229nZMfMNX/rSl0yp8HuZ7OdyuajX69y4caPnCE9oX4osLS0RjUb7qlaNu+nt27dZWFjo20tjs9nIZDLYbLaes3OMiKahKARDob6EoygK9VqNoxMTrRLwIQnisI1qBhLb24R0KXapWt1nXyApiimlN1ARxTbdCUBFlpkMhdjN51ne3WVkbm6fKbcsyyQSCc6ePWteKJruvxKJRIhGozzxiU/gfP11JsfHqdbrXF9fR1VVltbWqEciiNUqW8kkY0NDeDwevG43aYuFgc1mwwXkDxioZbPZGIpEGIpEMLrAZFVl7sgRGorCdX1agNtuZzgaZSgcZnhoiHg02kau9yLbB8wErBGZuN3utl6xZrPJlStXcLlcZLNZswHQ5XK1RTGBQOBDFb3cTW/Ogc1+v/Vbv8WXvvQlHA4HsViMP/iDPwDe22S/QCDAX/3VX/Hcc8/1HOEJ70Ym23qpz5qc7Qabzcb6+vo+k6NuEEWRUqnEk08+2Xc9WiwWaTabfUduaJrG+vo6Lrcb9EjjsATRvIt1drFYpFStmt9NbTbN+TkGZL3aY0VNkvYRa1UU8TidvLW8zGgoxOSjj+6rgt2+fXtfp7ZB7kbJeuroUa6+9BLHaPmahAIBbB4P0Xic2clJdgoFGroTf6FQIJPNspXJMBWL4XG5cHu9ePSbgNJlIHs/eFwuJkdHGdLPu2azSaFcZi+bJZ3LsZhIUK/ViIVCVPN5fKEQNVG854a/gxLSDoej1cdkOV7G3JxSqcT6+jrVahVN0/bZGBw00uJDkTM5qNnvN37jN3pGHPc62S+bzfLqq6/yuc99ru92drudWq1GtVrtmfuwwpg9MtXD08JAvV4nk8kwNTXVv59GktjJZPB4PH17M3Z2dvDpg8pr9Tq3FxdbiT6vF58hpuoh9TfEaQdBlmWSiQRj4+Ps6X0xiqoidOyXrCg4O75TTRQZ7SDXqiSxtrtL2O/H7vFwRDeHtn4nQRD2dV8bx8v4d2FhgW87nWaJ1utyUVMUSrUaiqoS8HpBEIjFYthsNqKxGOlajUAggCSK5HM57I0Gyb09Uxrg83pblooHlFmNRj/rvsXC4ZYTnF5tk2WZ3WyW1996i1ubm1xfXEQRReqSxFAkwnA8znA8fuBvcNjenM736TY3x1C1lstlcrkcGxsbSJKE0+ncF8V80NWhh1oB+7u/+7sUCgX++//+vz9wW2Nt/tRTTx14987lctTrdRYWFvqSjqqq3Lhxg/Hx8b7vqSgKW1tbnDt5kr1UqmdDWaFQoFarMTs7i3dri5nxcY4fOYLabJrGOplslnq9jtZs4vZ4TIJxd5mJ0w2aprG+tsb09DRre3vmfququi8CkhXFtCcwUJckgpZcgijL1BsN0uUyP3T+PC/t7LQNWq/VamxubvL4448fuG8+n4/o7Cx7uRwT+oygarGIrCgt4yKPh3y93hKmqarptmaz2Qjr5d98qURYlluzbQSBYqnEjt4+4HQ623p0PB6P+Z37mYgbcLlcTI+PU5qf58yZM4zG4+xlMgyPjZHO5VhKpahVKoQDAYb15O6w7rfb9htwcHRw2GqOoWrtzP1ZczHG9D9N0wiHwzz66KMHvu+DwENNJpFIhBdffLHvjBtoVW6Wl5fx+/0HtmcbJkejHVZ9nTCMk4zcQK9ZJIbQLa730wg2W1c5taSXio/oClcr7Lb9M2k1TUOUJOp6W/pWMsluKsWdO3daF4t+R+7UOCQSCUKhEIFgEHVnxyQLtdnE1hmZqGpbr47SaNBoNlsRgo5cqUS+VOKjp09TqtWIzsyY+2kkuk+dOnXoCYOzFy6Q+vM/ZyIeJ+Dz0dQtB2yCgM/vJ1komGVcwWYj6PNRqdeJ6p6wXqeTZq2GKMuMjYwQiUTM/ISRi6rV6ySTybY5QqVikUqlgqKbOB0WAZ+P43NzHNcJVFEU9nI59jIZllMpXl9cxK5prbK0nntRFOWBe8C6XC7i8fi+KOZuBrTfbzzUZPIzP/MzvPXWWz0l9fCurH5ubu7AyXvWcnGhUOh7p9rY2MDj8TA+Pk5adynvt53R3WoT9o+xMDuBp6ZwOp0tI2abrW+uRNB1C16Ph1gsxpAsM7W6ytzcHLVaDbFep6h3NRvLJAGo1esc05W+DVU1lzGKqu6r5siNBi4LmYiK0tJLWAj5zdu3UYDZ4WGurK0x//zz5nOrq6sMDQ0d6FJnxdzCAos6qQV8PpqKgnGrCPh81C2kbRMEgj4fxWqVeDhMem+PkdFR/JubZHZ3GR0ebutPEqAliff7GdGn8mnNJqIkYbtxg0KhwLIsm8Iza5extfLWjwgcDgcTIyNMWNoySpWKWZpevXWLSrPJDx1wHB6EnN6mnwcfFB5qMoH+/TlG4s8wmd7Y2Oj5PkakYZSLy+VyT/l9JpOhUCiYArZeIXImkyGfz3PhwgV2b90C2Dc7xxx3MTTUcjJ3OFrr90MfgRYURWl1zDqdhMPhtgu42WxSKpXY3NwkFAyyvLxMs9lkY3OTkM9nLq86L5JGh/+KJEmommZO5Utms2RFkSf1loEc8Izu3ZvL5SgWi3cdUo+Pj6OGwxSrVcLBYMt9Tb+bet1uVFVts0UI+f2UqlUKhQIutxuvz0c0ECC/sUHlyBHzOOzrT2o20fTf1+lwEAwGGRkZYUqfh6QoCjV9aZnL5ZAkyZzp3Gg0Wu5nh9SlhHQ/lmOzswBcT6U+MHf6D9Ws4YOa/f79v//3/N7v/Z5pKPQf/+N/ZFY/yPcy2a9f5/DW1paZRD3oIBqNfka5uHNkgoFqtcrq6iqPPPJIWwKxm7p2dXXVFNAZJ7MAbdum9/ZwOByEIxGTSAC0u2wmM8ZcdIMgCOymUszPz7+7VNI0EqUSHpuNarXK9uYmzWSSZqXSGpvpclGVJOId+ZGmIJhq1DdXVogHg8SDQar1Oorfz+TkJI1Gg9u3bx/YTtANNpuNmQsXSH73u5yamcHvcpGp101DJZ/HQ6laZUiP9KLhMOupFFG321TgOh0ORt1uNi9dIjI/T3x4uGWZIAj7VcnG76LbPVp/c7/fb5ZfjQStYURkJDvFWo2YLrrzeb34/P5WNeWA73mY4/JhsmQ8DO62a/jAZr9HHnmEt956C5/Px+/+7u/yy7/8y/zxH/8xcG+T/fx+f9fIJJPJdJXVd8POzg6SJLU1+nXr5TG8SU6fPt12x+4kE0VR9nvCGietLkuHlrK2UCxy5MgR7LpS1IAGd6UZUfok7La3t4lEIu0t+IKA4HQSDYeZnJykUKthd7mIeL3m2MxcoQCSxIbu/ZHO51tJWUHg0soKQ+GwOQZjJ5djVq+S3bx5k/n5+Xv2zVg4fZrXvvMdTtEa1qWVy1T1zwl5vRQtZBIOBEhnMjx64oTZl+Sw2bDb7cxEIuTW11lfW0N1ufBHo/giEZwuF8FAAJelhGq32xEEwWx8hHejGCvBOBwOXC4XU1NT5Gs1xFqNmZkZM0GezeWQLIZMXp8Pf5cK3PcbURwGdxuZHNjs9/GPf9zc+KmnnuILX/jCe9rBYDC4r4+nUqmYc4YPChV7NeV1EoR1GdTpi2Hd1ki4Tk9P78uwC7w71U+WZRIHdALfbdNep04EWhUiWZKY7lLiVhqNdxOwioJLv3P7/H58fj+BUIgjk5NMR6PIssz63l5rYuKdO9xMJnn+9GleTyQ4OTpKslrl6TNnSCQSOJ3OAxPY/XDkyBH+xu2mLsuE/H6aqkq5XmckFCLo91OwRKKFQoGRaJR8tWrK1w0TKofdzkg0ygitJVstn6e4vc2NjQ2mZmdx+Hx4QyH8kQiVSoVardbWlNgtikkmk4TDYVN4p+hVsEAwSCAYbLU8CK1RFaIothzv0mnq+qwct8fDrv5YMBjclyD/fsbdksmhJ/sB/P7v/z6f+cxnzL/vZbJfQLcoNGCd8XtQC3enyZEVnWSysrLStgzqta2RcO3UVBira0GX3hudwGbCteOE0u5yzdxNlyBLEjvJJMePH+/qDKY0m6awS9HLr1Y0VBWX3d4yXfJ40Gw2IuEwSVHk0089RdTnQ11ZAVVlrVBgfneXvb09xsfHSSaT+7xHDwuXy8XUhQtsXb1KNBAAVaWiy+YjoRCb6TTQ+v2q1Son5uZYSaWYM+Y/69/HCqfDQTgQYGl9nYl4nNOjoyiqilitUs/nqW5ssFUuU9/ZweP34wuH8YZCZvLV4XC0EtuiyPT0NIJOvHabDZvFxFrRvWKg1WXt8XgYisfN31eSJHY3NykUCmxtbSGKIg6Hg1Ao1KYJeVD4UOVMDosvfOELvPXWW3z72982H7uXyX7WBKxRuTl69Gjb7F4rjDtPN5MjK6zLHGPsQC+neoNMstmsmXDt8sGt8QaCQDqdJhwO4/f7uxKJsZ93cwkqqtrWCKhpGmtra8zMzvYcl9GwRiYdrzfe0yqnL9XrVCWJsViMsWiUcrVKOBBAczg488wzBINBU5tjNEdavUetIqqDiP7Y+fNcfuMN5kZGoNmkpL9POBBAkiRkWWZvb4/R0VGcTie3NzfZy+UYicVw2GwoXZLniVSKkiTxnN7G4bDbCfh8BHw+hkIhJkMhZkMhpEYDMZWisr1NFshWq62BX04n8ydPtmYLW+ZY2wShTTdkJGY1w6zJWlESBILBoGlyZZSsOzUhlUqFq1ev3pWy9WHH3ZLJoSb7ff3rX+df/+t/zbe//e22BqZ7mezn9/tNQc7i4iIj+sCnbrB2Y3YzOeq2bblcZmtrq28y0W63I8syKysrPZdWpj+IHu7GY7F9eRIrlLuYzgctInVYtt/e2iIai/UkVdD9TPScjqpXg6xoqKpZuQHY3N0lV6vxiK6pqOhJ0Z1KBXc8zujoqKlrsP4G1sTl3t4eq6urNBoNvF5v28ViDfmPHj3Kt9xuFE0j4vezVywCrWMd9vlYXl9nbGjIPH9OHTnC9ZUVng0EcNjt+8hElCRubW5y4cSJriVXgXcnInrcbtOiQGk0WFleZiwcJuByYdvaIr25iQTc3t3FZrczGg7jC4VapXprbqTjeDY1jaYgmMsgoz9JEARzXIVBMN/73veYn5/fp2y19ucYEwE/LP05d0smBzb7Xb58mX/4D/8hX/nKV9osEu91sp+xzNnY2MDhcPSVvxvRxubmZleTo85tG42G2THcT8ikaRqVSoVHH320ryjOsAMcHRnBZrf3H7B1l+MUFMuyKJ/PIzcaB84HUlTVLLGqqoq9I1qwKmDrosh6Ps+ZuTnzWFTqdTxOJ4l6nY8MD/fsd+o2bErTNERRNO/IyWSSer2OQy/TBoNBhk+eZOPWLSaiUd6w+McGPB6SmQyn9JI0wPjICOVqlVevXqXpcrX51gJcX1piZGho36B0AwLdZe431tYIe70EvF6mJybafpNaqUSpWsWeSFDc3GQPaAAOnw8ZiI2OEgmH8Xq9uFwu02TK4XSakVlnf5JRknY4HDidTlPWYJCMUZYul8usra1RqVTMMRgGwRhjRrt+zw/LMucQzX7883/+z6lUKvzdv/t3gXdLwPc62c8oDd++fZtPfepTfbe12+19TY46USwWOXv2bN+OYcMi0uiF6IWGorC1uUk0GqVYLCLY3h2/0O3OYiQQDwtFUVrDuyWJ1M5OzzxJ2z5ZGvmURgOb5QQ0fGKNZc7ry8s0gSlLd2u1XkeSZep+P08//fRdnaiGZsPr9bbdVIyLpVKpEBwZ4a2vfpXjHg87e3ukMxm8Hg+oKqqw3/rw+NwcQb+fr165woqi4ASGolHqtVrb8qbr/tj2j7rI5PNk8nmODA0xqvvkdr7G43K1EZSmaeRKJd66cQP/wgIppxMZaDoceMNhPIEABVWlVCrh9/vNKMY4BzRNY3V1lfn5edPQq9lstkUxBmkYFahms2kO6Nrb22NlZYVGo2F6pRgE0y9KfT9w1zmTg5r9vv71r3d93b1O9ltbW+P111/n3//7f39guKeqKolEgscee+zAE98YhH5Q97IR5fSS00PrrpPY2uLs8eMEAoHWEOt6nWw2y/b2NlqziUd34TJNi+/SAV1tNhEE4cA8iRWKqrY8QNjfmyMriklmS4kE6WqV8VAInyW/VJYktvf2eObzn79vfhtOp9N0rp+ammLzjTc4YrfjunWLsihSLZfxe71UNze5evMmk8PDLV2MPjZ0fGSEp86cYS2VwmWzcWd1latLS8xOTXHp9m1Cfj+hQICI398iJh2d0wBUVeX6ygqT0SjhUAj3IcvcgiBwe2ODo1NTTFsqWoqqItVqVLJZCtUq17/6VSRBwBsOExoexh+N4tKtKZ1Op7lctJ7TnVFMo9EwoymXy8Xw8DAjIyPmawxiLpVK7O7uUqvVOHHiBBN6ovr9xkOtgN3d3eWXfumXGBsb6zs7GFpVnlKpxMmTJw/svUgkEocy9M1ms+RyOS5cuMDbb7/dc7uVlRW8Xi8B3arQ5XYTsEQxRshf1124Ujs7bG9vsxGLIdXr5uAsl8vVkwQbikIhm+X8wsKh7kDGHc/pdJonZ5v/iN5IV63XubK1xdmZGVLpdNuIi71cDtXv56lnnjnw8+4FNpuN4888Q+KrX2U0FGIrm2U+HmdqchIcDpL5PG5dF1MulZBlGZvdTqFSoamqzI6PU6xU+NjTTzM9PEyhVKJSrbK5vc31Wg3BZsPv8xHwesnk8zj18SCCzcbtjQ18TidevcflsNhIpWgqCnMdy22H3Y5D/w0nXC7OjY62Rn5KErWNDZZee40ba2v4w2HmT53iSrlMcGiIgJ4XsUawnTdN4/czjMGtUYyhhjaimA+yc/ihJpNYLMYf/dEf8XM/93N9tzOqPNFo9ECCKBQKpFIpLly4wOXLl3tuV6/X+yZcDaTTaYrFYt+EqzXkj+kn7tj6OtMzMzjtduq1Wmu2riThcDjaxFBuvfM1l88jCAIjhxiVCi01q9HEpzab+ypHDX3Z9PrSEjMjI/jdbjQwXc7Eep1UNsvZT37yQCJ/Lzj3yCP8/778ZcbCYa6vrvKMPrJ1anyc1WQSSVHaPl9VVeo7O+yWStxcWmJjZ4dHgkEqpRIBj4d4OIxHd4Wr1uuUymVK1SrFYpFiPk8ul6PZbLKXy3FkZATH6CiqqrYlt62w6p5FWWZpY4PHdLvKrrBEP4Ig4Pd48LpcfPvSJY7F45xcWCAUDFLL5agmEiQ0jTog22z4o1GCw8OEYjF8Ph+BQACn09l9mWyJYqAVpVy/fp0vfOEL/O7v/u7d/Qj3CQ81mTidTs6cOdPXH8LozxkeHkaW5b6zc0RR5M6dO5w/f75v9GJYD5w8ebJvwrVarbK2tsaJEye4srp6V6bFzWazVe3w+dpGYDb0BF29VjPHk2qaxnYySTQYpFKt9szDWCFbxoJ2W1LJikK+XEYLhXj2yBHWdU8St8NBs9lkbXsbdyDABUtj34PA0NAQQ2fPsr22RlmWze/ldDg4OTvLO8vLPHfhgvld7HY7Ib8fTRDI1Gq8+OyzhP1+ZFk2RWS5XA5VX0643G7G43GOShJBj4djExP8zWuvMa074a3v7HB9dRW3241fT8RGAgHCXbQgN1ZXmYjFiB7Q2NgZXV5ZWsJhdBbrUxjdLhdRS/Sqqio1UaS2skJ2cZEtTaPSbDJx5gyn9RYUKzqjmGazya/+6q/yb/7Nv9m37fuFh5pMDoPt7W2zP2djY6Nnd69BEL10Jwass3P6zYNRFIWbN29y7Ngx7HY7Dj0bf1h0lnoNOB0OwqEQYf2z1WaTO7dvE41GcUHfPIyVICVZNis1zS72A/lKhUy5zA899hg2m426pS8nk06DzYYtGOT0mTOH/k73ipnTp7n15S/jdDpJZjJmLmJybIx8ucxrN27wxMmTZg7EYbezurPDDz3yCBH9ojeMhQwYlRNJkpAkiVKxSDmfJ7u3h0PTmB0fZ3x83DwXKrUapUqFUqXCVirFjWqVrXwemyDg0assqb09fuiAJZ9G+zKlVK1yc2WFE6OjTM/M9JUfGDOcjf2/lkwydEil8Z/92Z8xOztruhl+ELjvjX6SJPFzP/dzvP3228Tjcf74j/+YI0eOAC0ntt///d/HbrfzW7/1W3z6059+TzufzWZJp9Oms1qv2TmGRmV8fPzAdvmtrS1cLteB1ouLi4tMTk4SCAS6CsIOgnrIIUxbW1vE43H2RJGI12s2TVrzMKVSiVQqhdJomK312UrFLIc2O4Z3NZtNLq2u4vV6iesXY12S0ABVlmkoCrlKhfD0dF+rzPsBI5ocf/RRSt/6FkvJZFti8/TCAnfW13n56lWOjI9zZHycxM4OkqpytE9pXNA7rJ1OJ4FAgJFSqeXEVyoxNz6O3++nVCqRzmTQdD2O1+0mMjbWWiY5HFxeWSGdy+G02XhneZmAz8c333yzlR/z+Qj7fIT1jmEjcuqMor937RpjoRCjw8P4+1QNO7GTzeKfnz9wAiW0mk7/l//lf+FrX/vah6c0fJhGv9///d8nGo2yvLzMF7/4Rf7H//F/5I//+I+5efMmX/ziF7lx4wbJZJJPfvKT3Llz59AJo85BT9VqdV9OoxeZbG1ttXwoDshy53I5MpkMFy9e7LsPW1tbpkbA4XC0yORQ36IFIzl6UGk4m82iqirDw8Nc29xsc0Vry8O8u4PmAPPVVIpKscitmzepyTL5bJaS3Y7b7WY1nUYCzliSiJVaDbvNRimfZ3pmhu8uLbHwwgt38a3uHkYUePz4cfx+P9uXLrGby5EtFonrpG+z2Tg5P8/40BDL29v89SuvkMzlcDoclGo1QodY8kHreC1vb/P4kSOEgkFGre0Q+nETRZGa7j+rNBqUCgVsQLla5ej0NE9euICqqpSqVcqVCmXdx6Ss62cCPh8ul4uax0OhUiFfLlMoFDg1MdHTiLwb5EaDlKbxRJflTTf85m/+Jj/3cz+3r8Xj/cZ9b/T78z//c379138dgM997nP84i/+Ipqm8ed//uf89E//NG63m7m5OY4ePcobb7zB008/feCHer1eRFE0Jc7W7l5rTqObrUA2mzW7i7vBIIh6vc7y8nLPhKsgCGiaRqFQIJ1Oc+bMmdbyRu/puBsy6WaX2Im6KLK7u8uJEydaYiaLAK0nBAGXPpA8GA4zOzPD6TNn2MvlKKVSKKpKKpnkpVu3iPn9lEsl8vk8Ho+HYq2G2mgwPDLS0pbQ6gB/kEilUqZVRTQa5a+mp5FWV1nc3OTZjgspHApx/vhxcqUSF44e5eWVFS7fuEGj2cSvm1OH9f+CXQhmN5MBVcXrcjHcebe3HDcTmkZJENhOpUju7XFhYYGNjY2WQ77LRcjnYyQWayWsBcFM9mYLBVLpNH/5ne9w6fp1xnVHOcfGBkORCLFQ6MBq42Y2y9Qjj/TVP5nbbm7y5S9/mddee+3AbR807nujn3V6n8PhIBwOk81mSSQSPPXUU+Z2dzPVz+jP8Xq9NJvNnt29nZFJrVbrW5GxNvAdlHC12WzU63WWlpY4c+YMDofjXUGYouzLSfSD3Gj0jUrUZpP1tbWWdYG+XTcn+X4QJQmPvr3NZmslFiMR3tzY4CNnz1LX2+gFQaBQKJBIJrEHAhSLRbb39mjqepAHBVEUWV9fN71jHQ4HT37mM/zFf/gPzMsy66kURzrutNfu3CESjfLIiRNs1es8/cgjCECxXKZYLpPJ5VjZ2kJWFHx6MjUUCOC029ne3SUWCDA8NHS4aFgQcNjt7ORyfOLCBWYtM3kkSUIURYrFIrIs09SXSR63m8nRUXwuF45AAJ/DwXAgQDAaZS+bZXFtjXKtht/vJxoMEguFiIVCDEejpr6nVK1SCwY532OkrBWapvErv/Ir/Kt/9a8OtCt9P/ChSMAa/TlDQ0N9u3utZNLVc6QDxnCtpaUlJiYm+iZcjX6f+fl5XC5XW8lOUZSu9gC9IDUa++bVWLGlO7NZ70yKpTpzqM+QZcJ6JKfqOZNbW1s0BIHT09O8eecOIZ+PSCSCpjeyzU5NEY1EeGtxEUIhtre3WV9fx+PxtPWLvNe2esPu4cSJE215oxdffJEvf+ELuFwu7qyvE9PzEQBLGxsURZFn9AjTabcjyjKRQICReJwRi1ZEbjQolcuUq1VK5TLXlpYolEqUymVub28T9PsJ+/1EgkGzFN4NW3t72AWBaUv+zLBGtNojGgIzURQpViqspVLslss8d+YME+PjBINBThw5gtvjaQ0IKxTI5fPkymWu7e6SK5VwOhyEgkFsXi8f+9mfPRThvfzyy8iy3NaZ/0Hivjf6TU5OsrW1xdTUFIqitDQY8bj5uIHt7e1DryONyCSZTO4zObLCIBPjZJ2ZmekrgbfZbGxvbx8qn1Kr1RgbGyMcDu+r/SuKclcHUpLlnmSSyWZpNpv7tB2yorQpOg/8DEUxL5Sm3pW7uLPDi+fPY7PZWssmvQy8vrlJOBTC63KxVyjg9fk4duYMTzzxxL4em52dHer1+r5RC3fTkJZIJPD5fPsiH7vdzkc/+1mu/eEf8uzRo7x+8yYfOXOGYrnM2u4uT1nmOzsdDqQe83xdTidDsRhDsRjryWSrcjMygmyzMRIOU65WWc/nKdVq2O12/D4fQZ+PkN9PJBDA7/VSlySS6TSzB0wmgNYS2BgZ6vR4yO3u8sSpU0xPTREOh6lZyvw2mw2P10s0FGpFMT5fqwu7UuHm2hrK1NShkq6KovCrv/qr/OEf/uFD02l83xv9PvvZz/Kf//N/5umnn+ZP/uRPePHFFxEEgc9+9rP87M/+LP/sn/0zkskkS0tLPPnkk4f60EAgQKlUol6v9+3uNZYta2tr+P3+Aw18VFUlm83y2GOP9d0umUyiaRrRaLTrKE+xXudugsy6JOHpckes1+vsWfIkVsiy3PU1PT9DFFtWhrSk3ss7O5yYmiKkRztys4nb4WjZSrrd2BwOXA4H6zs7hCMRQjrRH9RjYx0YZdNd9q2+HfuGfNVqbG9v9yxhfuZHf5RrL73ESjLJ0clJ/vyll/B4vXz8ySfN7wOtUaHiAcPB66LI0uYmc8PD1DSNgiQx3XHTqNXrFEslytUqu+k0SxsbNFSV5N4esiBQrFbJFYuEDzmXZmt3F0WSGNYd7owmSANNfciYoYdJJBIt0ZzTScFu5yOPPoooigfaEfyn//Sf+NjHPtbq0XpIcN8b/T7/+c/z9//+3+fo0aPEYjG++MUvAnDmzBl+6qd+itOnT+NwOPid3/mdQ1dy7HY7//pf/2v+5E/+pO9r7HY71WoVWZYPbPSr1+tUKhXOnj3b985TKpVIJBJEo1GSySSyLO+7E4vlMv67uNBrkvTusHAdarPJ+vo6c3Nz+75jU/cu7ReSd0K0fMbW3h4KcMpSvZEVpZXUBmx6pFWtVrHbbDjdbkYOmIho7bExv4OqmlYEOzs7LVPmZtMcXh4MBlldXeXkyZM9f0ePx8N/80u/xO/9239LcWmpNYFPVbm9vs6x6Wmz6c7lcCAdMNbh2uoqw6EQbpcLh9tNbm9v3zY+ffiZVQiwlkigSBLuYJBULseN5WVqktRqrPP5zGVSOBhsI3i50WB5a4uRSISZmZmeeTq/39/WEqFpGrc2N5k5fdrsZBdFEZfL1UbOxjmXy+X4vd/7PV555ZW+3//9xn1v9PN4PPzX//pfu772V37lV/iVX/mVu/q8arXKn/3Zn/E//A//w4Geo4Yz17PPPnuo4VrRaLRvUrPRaLC4uMjJkydxu90mAW1sbFCpVMw78eqtW5xzuw/tOF6r1/F3kMnmxgZDw8NdRxXURBG3y3VX/ieSLJu6huFwmMc7fGMkWaZWKnHk+HG2b98GQWA3m+XZc+dYr1QOFWp3wm6373PO1zTNnEi3traGJEncunWrLQ8TDAZbozr032x+fp5/8mu/xp/8u3/HkyMjBL1eNpJJ3rlzB7vDwUg8TlNVqfeJTLZ2d6lXqwzpPizpcrmroVIn5EaDtUSCj5w/T1b6/7d35tFt1Xfefq4WL7K8Kt7i2LEd24njLI6dhB2yAKFsZRtIC0PLdKNDWwpvO2xt6TCnEGihtLSndGA6hKXQwLSEAqWUEAKEJbaze9/3TZasfbGk+/5h3VvZlmw5lp0E9JzDOdiRdK+upe/9/b7L5+MiPj6es1euxOf1YvKXgy12O21GIxb/NkmbkIBWo6FvaAg1frX6afJvk7Ha7YylpXHmxo0TPo+BRlvS6u/+++/H6XSyevVqjhw5Qnl5+ayONZ+c8gnYX/7yl5x33nkz1tAlI67JnaCTkRrOFi9ejM1mC9l+L4oitbW15Ofny3oVGo1mwlCY1+tFr9fTaDJh12hoHB4GURzfFkhCwxrNlLuwxeFAF5ATGfZbeKaHmIGxOBxTzMSnQ2oEk3Isos83oRQtiiJ6g4Hz/UJCdpcLvdnM4rQ0MtPTOe5PdkcCSRhIOq4U6F0uF2azOWQeJikpifNuuolPnnmGC/LzKczNJT8nhxGjkT69ns6eHmxuN16Xi9TERFKTk+WeE6fbTWNnJ/k6HSkpKcTExKBSKvGGUXGrb28nPTkZXVoaxv5+WeZBoVSSmpw8oZVe2rKYrFZ6h4bkfqYujwflvn2kJCWxKDl52pKwKIp0jo5SvGXLlH8PZrT14IMPctddd7F582ZefvllhoaGZrTOXShO+WBy77338tRTT03QgZ2M5CxXUFAwrXcOjCd+lUolixcvprW1NWT7fVtbG0lJSfLwYLAVh1KpxOlwUKTTke/Pz4iiiNPhwGa3YzQa5Qll2eozIQGjycRaf+nP4XCgHx6mZPnykOdssdnQziL5anE4JkgJTJZ8NBgMoFTKlRKz1cqIxcK2jRtxut2IsbER7XyVyvmlpaXydYyLiyMuLi5oHkaShHS73ShXrOCvH33E+QUFJCclofN7/qYtWsSh1lYWJSZiMJvp6uvD6fGgjY+nT68nMS4Ot8cjr5LUKtWMK5OR0VFGRkc519+0GMqdUULassTHx9PS28uGlSvRpaXhSE6mIC8Po8k0pSSckpiILilp3Ls4NZVRq5XY/PywBLp9Ph/3338/jz322IQ2i1OFUz6YSF6rIyMjIR/T2tpKSkoK6enpdHR0hHyc0WiU2+8hdMfs8PAwVquV0tLSoAlXCZfLRfeRI5QG3K0EQSDevyKR8Vt92m029AYDXV1dDGRkYDEax6tE2dnjsopqddDtmclmm2DZORNmu33C430BWiZOhwOTyYTWr09rczgwW63jCda0NPQmExm5uRGVCmxvbyc9PX3ayhoEz8Ns2LCBv2Vl8dEbb1DudKIUhHGXPn+FSpecTE5Wliyt2djZOR7ABYHekRG6DQYS4uMRlEoGR0YYNZtJDBAtkpD0TVbk5cmtBAoIebMJpK23F6UojrfWp6TgU6lYkp3NkoCSssfrRW80YhwdxWAycbi/nxGLBSExka/eeWdY1/G1114jNzeXM84IqeF+UjnlgwmE9s6B4J44wXA6nTQ3N7N27dppzbWkSeBVq1ZNG0hEUaThyBEyPJ4Jq4CgCIJ8Jx6x2ykrLmbNmjW0tbaSmpqKZ2xMvhOrY2Jks3JNQgKxMTGMWq3k+Kdcw8FksZAUEEw8Y2PEKBT4vF4GBwdJS08n1r+1amxvZ9RsJjs3F5VKhdFqJTOCdz2TyYTBYJixYhYKpVLJ5ddcQ3p2NtUvv8y6lBQyU1NxOp180tHBqMWCaDTKqvGtXV2sKipCl5JCRkaG3HMy7C8FH21uHq+mxcWRqNGMJ1K12vFZmJgYFgdspye7MwbD4XTS3tvLktRU0tPTxzVgg6BSKslatIisgO1jS38/sStXhqVW73A4ePjhh3nrrbdOmVLwZOYUTARBSAP+BOQDHQaDgdRJH/rDhw/z7W9/G7PZjFKp5L777uOGG24A4Ktf/Sr79u2Tl6LPPPNM0LmYUBahoTxxJhM4MRw4WTp5ZSJNApeUlMgWFaHu0EcOH6bzk084bxqpwGA0dXWxbPFiRvR6VCrVFF1V99gYdpsNu8OB0WjE6XRS39iIbs0aRkZG0AQxK5/MqNWKbtJ4uyAIDA4NkZqaitdvRmUym2nt76dg6VJc/rux2edj9QzasuHi9XppaGiYsWIWDmecdRaLMjL4+/PPk9nZyeolS8hITUUZG0tWdjaIIh8dPUqOTkesSoXH45Hb3+Pi4sjU6dClpHBeRcV4MtVmw+qfEu7o7aW2uZmSwkKq6urQ+vtApO7W6Tje1oYuIYFUvxaszW/ZMRNWux2bVsvqMD8/v/71r/nyl7887QDqyWauK5O7gT2iKO4QBOHuHTt2XPjwww9PeIBGo+HZZ5+luLiYvr4+Kisr2bZtm7wn//nPfz5jAilYMHG5XDQ2NrI6oJEpGJLeidRwFkjgLE/gJHBCQsK4QHCIL4DRaKT144+xj4zwp3feISYmhpTERNL9ybbMgPboQHqGhrBYLOSsWUNvT0/QPEmMWk1MSop8fZxuN5+2tpKfm4vbr/8qmZVrpESvf98uBZhRi4XCgA/dmMeD3WIBUSQpOZkBgwHf2BjVDQ1yVQV/ULWKYsRk/1paWsj2T+hGgmXLlnHz//t/7Hn9dd755BPcY2P0G41kpaXR2NWFz+slPS2NzMxMuSrm9Xpxuly4nE5cTietbW3E+NXwEjUa0tPSMDkcXHb++WTodLIMQVdfH+1DQwyMjhInCHJrfmpiIgnx8SgUivEhP4uFPJ0uaEd2KERRpGN0lGUXXBDWiERPTw+vvfbaKTF/Mx1zDSZfBDb5/3/nq6+++tDkYBLYVLN48WIyMjIYHh6eVYJvcjCRlNWKi4uDllIDJ4x7e3sRBCHoF0SpVOLy30kmTwKHCiQul4vajz7ijPx8kletwufzMWo2jyfvjEaONzfzvsWCUqkkNSkJXVISuuRkUhIT2X/kCOtXrKCnu5uCwsKwZAs6+vvJTkubsuLzer1y89PQ0BAOhwMYH4rs7uvjrLKy8WlmpXJcqsBkYpk/6Wswm2nv6+OyjRvpGBhAqVKhUaux2GyokpMjknw1GAxYrdaIN1VptVq+uH077WecwRt//CMHDh6kb2iIOEFgpd+GNfAzIXW4Jmg042Xi7Gy0cXGyzkldSwuG4WEWJydjMZsnyBAsycnhUEsLSzMzsdhsDOn18uxPfFwcLd3d5KWloQo4XjgbkCGjkZjc3LCmfEVR5Ec/+hEPPPBAxHR454u5BpNMURT7/f8/MDg4OO2DDxw4gNvtnuCVc9999/HAAw+wdetWduzYEfSCBQYTaaWRmZk55QsG/8yDKJVKjEYjg4ODIbdB0mOlxGzgJHAwfD4fx6urWeRykezf+yoUCtJSUkhLSaHYr9sCYPIHGKPJRHNXFwfq6hB8PkZHR8nJzMQXF0d6Sgq6GaZIW3p7KQoRCLVa7YT9tiiK9A4OEqdW47TZaNbr8Xm9dHZ0sCIlBZfTiX50lIONjSzJzCQ3I4PGri40CsV4N6zJRG6I6erZ4PF4aGpqknVm5oOCggL+/Z57eOONN9j/9tukjI1xtL2djdOIOcWoVLhcLhI1GuLi4xEFgVG7nfM2biQlKQn32BhOv12J0WhkYHQUi8WCWhDIXrSI/Jwc1Go1Ho+HqtpadHFx4PPRNTBAo9/pUaVW405MJDsnh/TU1Cldyx6vlz63m3Vr1oR1bT766COsViuXX375nK/ZfDNjMBEE4R0gWAid0H0miqIY7Mst0d/fz7/+67+yc+dO+a7/0EMPkZWVhdvt5pvf/CYPP/wwP/nJT6Y8NzABK00ah5rrkQLE2NjYlIRrsMe63e6gk8DBaG1uRuzpISeMfWugWlpDZycWm421RUXoR0aI12rpGx6mtq0Ni8NBkj8JuCgpibTkZHRJSSQlJDA8OorJbKYozOy9IAgYbTaK8vLI84so9fb2Ep+QgEcU+fDgQcxOJ4mxsagEgfauLlSCgM3pJHvRIgwOBxXTlKjDpampiby8vBM2Ng8XhULBFVdcweWXX867776L2WCguq4Ooa2NTKWSxamp6AIauuLUamxuN1IKtLatjcU6nexhLM3XyI9PSqLf4SAuPh6nyyWLWjvcbgaGhynNzWXJkiUkaLWIPh9mq5Uhg4E2u53D9fUYbTbUajUp/gnh9JQUHF4vWZWVM1a2YDwo/+hHP2Lnzp2nbNI1kBmDiSiKF4b6N0EQBgVByBZFsV8QhOxQS1qz2cxll13Gz372swn1cSmZFBsbyy233MIvfvGLoM+XViZGo5GhoaFp73iB5lolJSXTLg0FQUCv18u6KKH6SWBcKX/w0CHKZmnYPWIyUV1by/lr12K3WNjol0mUGBsbw2g2YzAaGbVY6NPrGbVa8Xi91Le3U5KdzdHGxnGdDr+s33Rf0p7hYQoyMvD5fHT19nK8vp7Wvj4cajUF+fkU5uRwtL0dt8+H1eVCrVLRMzxMjM9Hq9PJGo+HwcHBE54OHh4exu12L2iicHBwkKysLLZu3YrP56O7u5vm+nqOHjqEs62NVCDdL8xt9W8He4eGsNtsrJtmG6ZWq8HfdBe4Atx/+DB56elo/dPsBoMBQG63L9TpON/vM2SyWhnxl4SPNjTgTEriqzNUHiWeffZZzj33XFasWHHiF2cBmes25zXgK8AO4Ctf/OIXpzzA7XZz9dVXc/PNN09JtPb395OdnY0oirz66qshvX6lgPDhhx9y8cUXT1sZUCgUtLa2kpmZOePev6enRzYymi6Q2Gw2Gj/+mJLU1FkbZ+2trmbtsmVYTSYKCwunHEOtVk8ZoQc42NiI2+lk3dq1mK1Wenp7ZcdA0edDExtLrFpNrFo9rj+rUOByu9lXU4Nh+XL2Hz2KcXSUlcuXk5uVxfl+71sYnyhOTEjA4HCQn5eHvr2drMxMXH5ZSLPZPKErNdB0OyEhIbQdh78LORzfokjhdrtpb2+XdVEUCgVLly4dl7e85BIM/r6eroYGBg8coK2jA8PoKJ0DA5xRVjbtZ0mtmOpp3DUwgMftZnF6OjlLlkwQdHa7XBgtFkwmE83NzXKzYkJ8POn5+cSkplK4ZUtYcp1Go5Hf//73p9z8zXTMNZjsAHYJgvA1oPPuu+8GoLq6mieffJKnn36aXbt28f777zMyMsIzzzwD/LMEfOONNzI8PIwoipSXl/Pkk08GPYhkD5qUlDRjEkoakJpJ3qCvr0/OrYiiGLIi5PF4eO1Pf0JrNmPLzx//8oYpUvT+4cPoEhLQqFSkpqeHvewftVqpa23lys2bxwfdJuF2u7E5nThcLlweD16PB58o0trTQ1lREVvOOouR4WEy/Y1iH3z44UTPHI8HlUKB2WZjZVISbo+HUbudss2bSU9Pn1CZkOZDzGYzw8PD46pySuWEuRqtVotCoaChoUHWe1koGhsbWbZsWcgvqNQEV15ezpbLL+fXP/kJnXo9yWedxWBsLM1dXSSIIkmiSGpCwriGir/6FKNS4Q4IJu6xMZq6ushJTmaR39JTQpIWSFEqcYkiK1asQBRFXC4Xdrud9p4eemJjUXR0MDAwMCFAB1biJB588EG+//3vz6hZHC5er5f169eTk5PD66+/HpHXnMycgokoiiPA1sBfAaxfv56nn34agJtuuombbrop6PPffffdcI7BLbfcglqt5oIZNElHR0dxOp0UFhZOe2eUJoFXrlxJT08Px44dw+fzkZCQMOGPrFaraTh+nBSbDY/Hw4eHDmGx20nUauW5i4zUVBYlJ08JMPUdHYwajZxRVoZnbCxs1TKfz8d7NTWsLigIGkjgn3v7yRmqoy0tnFtRgeD1jttapqbidLunyhl4PNgdDjTx8Tg9HuJiYxkWRbYGsWsNNh/i8Xjktveuri6sVqtcYk9JSWF0dJTExMR5N4SSbkThDiVqtVpuuO02XC6XbE3rdDrp7+9nYGCA/pYWWtvbcQ0OkgQkCgJOlwuD2UxaUhL17e0kx8aSpNWSGKLRTCEIiP4AJPibFVVqNaLbzWWXXEJiYiIul0u+fgMDAzgcDjlANzQ04Ha7qamp4de//nVErhPAr371K0pLSzGbzRF7zcmc8h2wHo+Ha6+9lubm5mkf53K5aGpqIj09fdquRbfbPWESeIXfUEnyczWbzbKf60BfH/amJspzc9FqtWg0GkRRZMRkYsTvU9vW1YXJZpOl+BYlJ6NQKKipq2NLZSUWs3lW5dEDdXXEKRSsnmUitKW7GxWQqdPR3tbGcv/zvV7vFElJl8eDyWpFl5w8PrE6Nkb6kiVh5zlUKhWpqalyNc3lcnHw4EFKSkpwOBz09fVhtVpDBuhI4PF4aGlpoaKiYlbPWzZpejouLo6CggIKCgrAr0dstVoZGBhgYGCAoy+9xL4jR/B4PAza7SxNSiI5LY1RqzWomLUgCHgnNbr16PVklJXJ071SN3TgClCaS3rnnXd44YUXcLvdnHXWWXzpS1/ijjvumNV7nExPTw9vvPEG9913H4899ticXms6TvlgolarueGGG3jkkUdCjvgH9p2YTKZpJ4El/dj4+PgJeRJJTkCr1bJ48WJMJhP2jg7KV6zA61eM6+/vx+PxEBcXR5pWS25mJvF+pSxp7mJgZIT3ampIjI/nL3v2sLyoCEdzMxmpqaT7J1hD0T04SHtPD1+84IJZdYx6PB5q6us5q6yMjo4OlgZoxwZz83N5PHidTpYXFNBrMOD2+Vi3aVPYxwtEuqbFxcVTbDZ9Pp8sPyAFaI/Hg0ajmRBgTqR/orm5maVLl85L74VWq6WoqIiioiJ6W1pQNTfTYjRSsWEDiYmJeFwuDnV04PBvkbSiSEpcHKlaLQlxcfgCPn82pxNjXBxnzXBDkeaSli5dypo1a3j22WdxuVwYjcY5v5/vf//7PPLII1gsljm/1nSc8sFEIiEhAbvdPmWOYXLfidVqDRlMwpkEhvHVy/GPPiI/Pp4U/91E+qJI+2CbzYbJn6iUAkxyQgLN3d1cUF7OEp0OQaXC61/JHOzvx2izERcbS1pyMqmJieMBxt+LYHc6+fDQIc5du3aColg4HGxsJE2rRSmKpKakTPBnkQzPJXw+H0arlcVaLclJSdQ0N6POymJ1mLYKk+nr6yMuLi6oZIE0pJmYmCg3DYqiiN1ux2KxYDQa5ZkkqRNXCjLTVZKMRiMOh2NBqhyFZWX8o6qKkvPOI7ewkA0bNvxTFMvvIDA0NER/Rwe1bW2Y/NdjT00NixITcSoUlG7bFtaKzOl08uCDD/Lmm2/KW6S5VsVef/11MjIyqKys5L333pvTa83EnINJ4HzOhRdeyK5du4I2kymVSvkDm5eXx2uvvQaMT5Ru375dlk987rnngt69pV6TycFEklSUEq7Bhvfgn5PAksrXdAN8tQcPkmKzkRZkLy79kePi4tAFPMfldnOwtha9Xk9ucTF2hwOtVkuSRkOWXxxapVJh8I+5G0wmjgwNYbRYUKvVNHZ0kJeZiY9xMaQZhwel9zU6SnNnJ5vKy7HbbBRPKjt6Jm1z3B4PZquVyoICfD4ffRYLW66//oSSpg6Hg+7ubrmSEg6CIMhKY1IH6GSd2d7eXjmRHriC0Wg0+Hw+GhsbWbt27YJUjCorK9HpdBiNRgoCKmIwvl2RK0d+GUq3280bf/oTcS4Xtb29pC1bFvZ4whNPPMENN9wwK4+dmdi/fz+vvfYab775Jk6nE7PZzE033cTzzz8fsWNIRGJlIs/n7NixQ9yxYweTW+phvM378OHDU35/1113cccdd7B9+3ZuvfVW/ud//odvf/vbUx6n1WqxWq0TdB9MJhMDAwMT+k6kUfRAwp0EBmhvbcXd0cGyWdwRBEHA4je+uujss7FbLBSXlDA2NjbuImezMTw8zJjbPS7Fp9GQWVAgB5j3amqwGAwsz83lWHMzRrMZdUwMqcnJ4+rraWmkJyejneSj4vP5+ODgQcqLijAZjRQXF0/5gk1287P6y8uLMzNp6uhA1GjYvHlz2O9VIlBhfjYWHMEIpTMbmKgcHBzE4XDgdruJj4/H6J8Uno2Q9YkgbX/tdntYSfSYmBjS0tPJAISkJM665JKwgl5fXx9/+ctfIj5/89BDD/HQQw8B8N577/GLX/xiXgIJRCaYyPM5X/nKV9i0aVPQYBIMURR59913+eMf/4j0/J/+9Kchg0mgQJI06LdmzZoJwWGmSeDptjednZ188Oqr5Ccl0a9WkzGDrKOE2+3m3aoqKpcvx2IysWzZMhQKhex/K63UJEsEKcDoh4fpHRriSHMzl55zDhn+FYxarR4XLDIa0Y+O0tDayn6TaVwWMSmJlMREMlJSaO/rQxsTQ5xCgS4nJ+jqwuP1TsiZtPf3o01IoF+vp623l9yyshPqVO3u7iYxMTHoKjRSSNdP2kKZzWa5/BxMPlNaxWjDFH8OB4/HQ2tr66wkFJLS0mg7fpyis88OS1JRFEV+/OMf85//+Z/z3jU8n0QimMjzOVlZWYSaz3E6naxfvx6VSsXdd9/NVVddxcjICCkpKfIXdjpjrsD5nMCE6+SLH7jNmTwJPF0gcTgctNXUUJiYiMVm40Bfn1ylSfMP7KWnpgYNMO8dPMji1FTUosiixYtDJgUDLRFSUlJwut1UtbVx6XnnkanTYbfbGRkZwe1yoVKr0Wg0lOTlofHbTlr84kpGk4kDx45RdeQI+bm5dA8OUlxQQLJ/qjU1KQmtf7LVE2Bd6vV6OdjcjMPpRD8yQl5ODolBysEzYbPZ6O/vn9X2Zq74fD4aGhpY6df/mCyfGbhFslgsiKI4IcAkJiae0Aqqra2NJUuWzGobWLh8OQnJyRQVF4f1+E8++QSj0ciVV1456/ObDZs2bWLTCSbawyGsqxvufI4gCCGXdJ2dneTk5NDW1saWLVtYvXr1rBpyJCMuGJ/9yMjICJmbkVYm0iRwenr6tNsbr9fL8aoqcgSB7AB9CUkda8RoHJ+07emRA4wkOTBkMGA2mykrK8Pn881q4nZfTQ35GRks95crA58rrWAkSwSX04lSpSIhIYHs9HRqOzu59frrcVitpC1ahNlmw2ix0DMwgNluxz02RoxajcFsRqHXkxQbOz47MjRE6cqVbCwv51BnJ2VhtnZLBEowzncfSSCdnZ0sWrQoqJCQUqkkJUC2QTpPm82G2WxmcHCQlpYWvF6vrJQvBZnpgoTVasVkMlEcZlCQmCyqPR1er5f77ruPP/zhD6fF/M10hBVMwp3P6e/vD9lAJCWVCgsL2bRpE4cOHeLaa68dN4n2eFCpVNMac0krE0lTdUmAbUMgUjAxGo3o9XrK/C3T02XTm+rrUfpb+wMJpo7l8XrHk6hGI03d3Xxy+DCLMzP5v717WVlSgsHhGNf3nKEMfKSlBYfDwYUhvIPUavWUD6XH48Fut/PmRx8RB9hMpvGqh89Htk7HstxcuQri9XqxORzUNTfjTkwkKyWF6qYmylatIjc7G0GhwCSKIa9jKDo6OtDpdAuqiC7lnGazEgqsJElIlSSz2czIyAgdHR1yDiYwwEgry4aGhqAeRpHkueee48wzz5Sb6E5nIrHNkedzdu7cSbD5HKPRiEajITY2Fr1ez/79+/mP//gPBEFg8+bNvPLKK2zfvp1Qz4fxYOJwOOjv759WWU1KwDY3N7Ny5cppJQVgPPFlOHaMsjAd5FVKJRk6HUmJiRxta+OrV16Jy2YjLT0di83GiMlER28vo1bruGud3082sM9keHSU401NXHbuubO6u6tUKrr1emJVKsqXLx/fgqWlySsYyTVOqVDIokkqhQJtcjJmux2Pz0eCRoMmNnZcyFinm5UKvcViQa/XL+j2RhRF6uvrWb58+ZwTrYGVJOnGIVWSzGYzJpOJ7u5uXC4XoijK/tIqlSpoy/tcGR0d5Xe/+x3vv/9+RF/3ZBGJYCLP52zdupVdu3YBE+dz6uvr+da3viXnM+6++245Ej/88MNs376dH/3oR6xbt46vfe1rQQ/i8/l49NFH2bNnz7RfQEEQMJlMrFq1itjY2GnzJBaLheaPP2aFTjfrJfu+gwfJ0elQ+Hzk5eVN2d4ErmAMJhPVfX2MWq3ExMRwrKWFjaWl2Pwl4HD340azmUMNDZxTVobX7SY9PR1BEEhKSpqwUvB4PDgcDmw2GwMDA8SYTNR1dlKwdCktIyMUZGbSq9dTcmHIBecUpO1N2QzDcZGmp6eHpKSkiM2oTCawkiRVCt1uN9XV1eTn58vX0G63T7Hi0ATpgJ0NO3bs4Lvf/e68JrEXEmEmwdxZEtEXk3C73ZSXl3POOefM2A5cV1eHyWRi/fr1qNXqkEFibGyM6r17yXI6WTRLZbGDjY309PZSsXw5oiiSG+ZWweP18tq+fTjMZvJzc9GbzYz6leHT/IpsoTplfT4fu99/n/z0dGKBkjBLsgcOHmSkowOT3c7KoiJ2f/IJZxQW8mlvL1u+8hWWLl0qfzmkgb1gNDc3ExMTM95TsUA4HA6OHDnChg0bFjQ/U1dXR1pa2hQltLGxMdnrx2KxyJaogQFmumsYSENDA7fddhsffvjhgr63CBByeXZadMC+/vrrnH322VPatScjTQJLe+NQyVBRFHnnb39Df/QommXLiPP3foRD3/Aw9a2tXLBuHVaTaVq/m8k0d3eD18v1l10m53B8Ph+G0VH0BsPUTll/gFmUkkJLby9atZrEmBjSMzLCrkyMWix0Dg5yRnk5CpVq3Cg7Joa1W7Zw0UUXyRPB3d3dcoJ78pdDesxs52DmglSJKykpWdAvmzQsGszHRq1WBx16tFqtU66hZOspXcPAv5coitxzzz088sgjc35v3d3d3HzzzQwODiIIAt/85je5/fbb5/SaJ8ppEUyuueYa0tLS+POf/xzyMdIkcFlZmWwI3dTUJN85pK1AQkICXZ2dqAYHWZycTGN7O/sPH0alVJKSnDye3wjRJOZ0u9l38CAbSksxGQwUFxfLfjQzYTSbqamr45Izz5yQDFYoFCxKS5swIRwYYIwWC/+or+dYQwPF+fkMGY2s8HrJcDqDygJO5lhLC8szM9EmJKA3GlEKAu1OJ9svvTRoFUTyCzabzfT09Mh34EWLFtHT0yMHmvn+gg8MDBAbGxv2tHUk8Pl8NDU1UVZWFnZ+RKVSBa0kSdcw0HM5ISGBffv2YbfbSUxM5Nxzz53zOatUKh599FEqKiqwWCxUVlZy0UUXnZSE7mkRTOCfHbDBCJwEVqvV5AaYSEk9CGazmc7OTvr6+uipqWFdVhYpOTms8uuBWvzeKkaTiYbWVj40maYEmEMNDeRnZCB4POSEaBILhsfjYU91NeuKi0PKCgQSGGDsTiftg4Pc+i//wqjBQHJaGgazmSNDQxgsFmL9yviS3OOilBRZj6OxsxOr3U6Rf0XRq9dj9ni48NprQ1bNJvsF19fXk5OTQ1JSEhaLZcJEsNTHEezuOxfcbjcdHR0LmuiF8bu8Tqebs5q+QqGYkseSptL379/PK6+8glarZd26ddxyyy1zWklkZ2fLyeTExERKS0tleY2F5rQJJqGMuCZPAk+2qAi8+zqdToydnWxdtQq1QoHdbmdgYACn04lCoUCj0VCQk8MqfzOcZN40MjrKm/v20dvfz5LFi0nSaCh2u8lwOELaWgTy0bFjpGk0lM2yXwFg36FDFGZm4nW5WLNq1QTl9UBlfIPJRGN7O5/6JR9VajU1dXVoFQqONTdjdzjoNRhYffXVnHXOOWEde2RkBKfTyYoVKxAEYUISVLr7Sl7BgXdf6Yt0oo1iDQ0NFBUVRUyuIBwkXZMN/hmbSCN16dpsNrngIPXCRIqOjg4OHTp00hz/IhJMpGG/oqIi8vPzgw777d27d4IuQ0NDAy+99BJXXXVVWGZcoYy4pElgqZM2VPLL5/NRW1NDustFmr8cGtiD4PV6sdnt2P3dnVKASUhIQBMXh1aj4bYbbmBgcJDk1FRGTCbqm5v50GJBpVaPl4CD+Oa0dHczODTElScw/3KkpQWXw0FGZqasyBVIoDJ+IA6nk79+8AElBQWonU50SUnkZmbiS07mvPPOC+vYY2NjNDU1UVFREVLZXwoa0ionUHJgcqNYYICZLkgMDQ0hCMKsfGgiQWNjI0VFRfO6fevv7+eVV17h008/Bf7ZCxMJrFYr1157LY8//viC9gAFEqmVyd3Anubm5gt37NhBsGG/zZs3y4N+BoOBoqIiLr74YvnfZzLjChZMJk8CT6ss39Q0rbK8UqkkKTGRpIA/rsfjQW808uHHH1OWk8PgwACa+HhilUqKlixh7fLlqGNiMFut6A0GDP4A84F/UC9GpaKpu5tt69dPEcyZCakX5ZxVq/COjc2qH6R3eBi3KLL53HNpP3aMJWlpeDweXCZT2CPtjY2NFBQUzEovJJTkgNSJOjw8TGtra8hO1LGxsVnPwUQCvV6PIAizusazRRRFfvKTn3D//fdHfP5mbGyMa6+9lhtvvJFrrrkmoq89GyIVTKRhv4fCGfZ75ZVX+MIXvoAmzAoKTN3mSJPAkqPfdIFkcHCQgUOHWBVmY5qEQqGgurGRdcuXo9NoyMjIkHVV7HY7vX19OP1NTRqNZkKAGTWbeeUf/2BpcjJ9IyMc7+ggVq0mxV+hSU9JIVOnC5pA9Xg87KupYXVhITaLhZJZdGHanU7219ZyRkUFoiCg8j9vxGxG5++QnYmhoSF8Pl9YJlEzIQRRdw/sRNXr9bS3tzM2NobH4yE5ORmz2UxSUtKCaMl6vV5aWlqC2tJGkgMHDjA8PMxVV10V0dcVRZGvfe1rlJaWcmeYBujzRaSCSVjDfhIvvfTSlDc+kxmXdOeCiZPAKpVqxgG+4++/T25sbFhua4HUNDYieL3k+u9Y0jZscnJtzOPB4Z8ElkqLtR0daGNiuPicc9D6l/bSCmbEaORYczP7Dh4kNiZm3PkvOZlFyclk6nQcqK0lNSGBOIWCrJwc1LPIO+w7fJic7GyyMjLoGRiQtUwGR0cpCWPIy+12z/vqIFgn6sjICO3t7aSnp2MwGGTRpPj4eHn1Eo6g+Gzp6OggOzt7Xqd1vV4v9957L0899VTEG/7279/Pc889x+rVq+WA+OCDD3LppZdG9DjhEPanNBLDfjC+bzx27Bjbtm2TfxeuGRf8s706nElgGF9dLC4txaTX02cwoPZ60QAJSiXa+HjZN3Yy3YODNHd2srm8HIvZPO0EqFqlQh0QYDr7+/F0drLlzDMZGxujt6cHp9OJ2j8JvDw/n3K/1IDk/DdiNHJsaIhX9+5lYGiIsmXLxr9MycnExMbOWAKGcRFrg9XKJf4kotNuJ8Zv4j0CXDFDhl+6tkVFRQuqMO/1emlubqa8vHyCulhgq/vo6Kjc6h4XFzclwJxIq7vNZmNkZGTeq0YvvPAC69evD2nlMhfOPffcaTWPF5Kwg0mYw35MN+wHsGvXLq6++uoJSbhwzbgAurq6iImJYdGiRTMKHUmvWer/I0oJQqvVislgoGdwENvICLE+33iAUanQxsfjE0U+OHSIM1euxDAyQklJSdj9JFa7nf1HjnD+unVkT2p8GvN4sNts2PxSAy6Xa0KAKQaMFgvnrV7N8NAQWq1WdoYLXMEEyj1KmG02Pqmr4/wzz5SvidPhIE6loqWvj4LKyhlzAv39/ahUqgVPfra2tpKTkzNldRCs1T1QlU3qhXG5XMTGxk5I8s5kICbJfZaUlMzreIDZbOa3v/0t+/btm7djnCpEapsjDftNO6wH8OKLL8rKTxLhmnFptVp27tzJXXfdhVKpnHXpMDBBmJ2dDX7ZAKvVOr5F0evpHh6mqb6eJJ2O9t5eli5ePO4zo1LNePfz+XzsramhJCeHJUESnWqVasok8NjYmBzg/vbJJ6TExCB4PKwoKpLnP1T+Fcywv0v28MDAhACTotVyqLmZ/Lw8dAF9LHabDcPwMPqEBL5y2WXTnrvT6aSrq2vBeztMJhNmsznsMf9gqmySLq/U6i7JPkoGa1KACRzWGxwcJC4uLiIm7dPx8MMP8+///u8L2nx3sojIbI4gCDpgV1FR0ZalS5eya9cu0tLSJgz7wfj+9JxzzqG7u3vC3WDLli1TzLgm61Z0d3ezevVq3n33XQoKCmbc3swFr9fL8ePHsdlspGq1mIeHcRiNxIoiCUCCWi1P3wYGmKr6eoaGhvjCeefN+tyq6+vpHxykLC+PhIQEYmNjZUU2t1/uUaPRoElIIEGjQalSyQHmgyNHaO3ro8Cv6xofF4egUOAQRXQZGVx63XVB28MlRFHk0KFD5OfnL3jHaVVVFatWrZpzo1gwAgOM2WzG4XAQExNDQkICw8PDsqbOfEkMNDU1ceutt/Lhhx9GrKHvFCDkxTotBv1EUeSSSy5hYGCA3bt3s2jRonldmkpaF4E9FlKbudVqxaTXYx4awmkyEecPMHa7neraWq7evJnEWX4xBkZG2PPpp5y3ejVjY2MUFhRM+IBLco9SH4zdbpcDjMvr5b3jx9m2eTPpOh0utxub3Y7VZsMSH88lYVQPuru7sdvtstfOQtHW1oYgCOOeNQuE2+2mrq5Ovr6B08DSNknjty+ZC6Ioct1113H33XfPaB53mnF6D/oJgsCf/vQntm7dyqWXXsqKFSuorKxk3bp1rFu3LqLj6U6nM2izVmCbudSkJQ15Wa1WjE1N5KnVNFmtxFksaAUBTUwMCfHxxE+TIHT7533WlZRgMZuDivEEyj2m+pfloijicDh4ac8elubkYDQYGBoYGF/BJCQwNjbGojC+pHa7nd7e3nnr/AyF1WpdcG0UGP/7ejyeCX7IoSxQA5O803ksB+Pvf/87ycnJnH/++fP1Vk45TouVSSA+n4/m5mYOHDhAdXU1NTU1cuNaRUUFFRUVrF279oSWzT6fj4MHD1JYWHjCy/2xsTG5zdyi12MaGsJtsRAviiQIAprYWLT+AAPwbk0NSq+XLH+QCiZLGIoPjhzBYLNxwdlnA+MBxu1fmbR0dqIpLiYlJWWCklhgeVUURaqrqykpKZk3vZBgSMddsWJFxDpAwz1uVVWVrCM7HZLDntlsxmw2T/BYloJMKGV8l8vFli1b2L17N3l5eXM+77feeovbb78dr9fL17/+dSRP75PE6b3NmQmPx0N9fb0cYA4dOsTY2BirVq1i3bp1VFZWymJJ09HS0oJCoaCwsDCi5yd9MC0WC+bhYcxDQ3hsNhyjo3S2tVGal0eKVkvBLLRCugcHeffQIS7etIn4ID0SjQMDbPR720rlVek/qX/D6/USExPD8uXLF7QU3NXVhdvtpmiW+rNzpbu7G6fTOWtNVwnJY1m6joF6JklJScTFxZGQkMCTTz7J2NgY999//5zP2ev1UlJSwj/+8Q+WLFnChg0bePHFF0+mzOP8BhNBEP4F+KkgCCsPHDgQcukaKsKGa8Q1G1wuF8eOHaOqqoqqqiqOHj2KUqlkzZo1rFu3joqKCkpLS+WKUHNzMxaLZVpJyEjidrsZHh6mt7eX9ro6shctQrTb0QgC8YA2Lg5tfDyxQa6D0+3m5b17KV+zhtwgVSO700m/x8MFX/hC0PciiiJ6vZ7GxkYyMjKwWCy43e4pMzTzEWBOluCR5Ie8cePGiB43UM+kurqa//qv/0Kv13PVVVexceNGrr766rCN1YPx8ccf89Of/pS///3vAHIl9J577onI+Z8A854zOQ5cc/755zeEeoDX6+W2226bEGGvvPJKVq5cGbYR12yIjY1l/fr1rF+/Xn4tu93O4cOHqaqq4je/+Q21tbXEx8ezfPly3nvvPZ599llEUVyQYBITE0NGRgbd3d1cecMNxMfH/9N0ymzGNDxM1/AwGAzECwIaQBsfjzY+nn2HD5ORkRE0kAAMGI3kb9wY8n2Iokh7ezvl5eXycl/KwUhiy1KLe2CASUpKmtMkb6Ce60KrizU3N7Ns2bKIHzdQzyQ3N5e3336biy++mKKiImpqaiZ4PZ0Ivb295Obmyj8vWbJEHhQ81YhIMBFFsR6Y1pPjwIEDFBUVyVuI7du3s3v3bkpLS8M24porGo2Gs88+m7P9OQYYHzrcunUrl1xyCU888QSNjY2kpKRQUVEhr2AKJlVXIoGkJCZJJ8Ak0yn/dZJtM81mjEND1Hd3M+B0UpqTQ8/gIJrYWOLi4lCrVPh8PoZHR1Glp5M7zV69ra2NjIyMCXkDQRDGS88azQTbzmAzNJLMgLS8DzfA9Pf3o9FoFlzz1GAw4PF45rRCCIeamhp6e3v58pe/jEKh4Mwzz5zX451qLFg1J1SEnY0R13zQ0dHBzTffPEEeYWRkhJqaGg4cOMCf//xn+csnJXgrKytZvHjxnAJMf38/giDMOEwn+Rqnp6fDsmVw1lly/4nVYmFUr2d4dBSXzYZSqSRj+XKKprnzm0wmRkdHw5q9CaXmHhhg2trawpIZcLlcdHZ2LnjVSFJPW7t27bwf55577uF3v/tdRNsWcnJy6O7uln+ezg7mZBOR2RxRFHdH7pQWFilABKLT6bj44osnSCT09/dTXV1NVVUVO3fupKenh7y8PHn1UlFREfadz263z6nbVFpBpKenyyuYcPB6vdTX17NmzZoTDoShAowkMzA0NCTLDASuYLq6uiguLl7w5q3Ozk4yMzOnaMFEmhdffJHy8nLWrFkT0dfdsGEDzc3NtLe3k5OTw0svvSSv4k81IjKbEw6hIqxOpwvbiOtkkp2dzRVXXMEVV1wBjH+Buru7qaqq4sCBA/z2t79leHiYZcuWyQFm3bp1U5b0Pp+P2tpaSktLF/yL1dLSQk5OzqykH8IhUGYgmI5JR0cHZrNZVjObqxJbuDgcDgYHB9kYwugsUpjNZn7961/z3nvvRfy1VSoVv/nNb9i2bRter5d/+7d/o6ysLOzn+3y+CSul+cwJLtinOVSEnY0R16mEIAjk5eWRl5fHtddeC4z/4VpbW6mqqmLPnj088sgjmM1mSkpK5NXL7t27ufDCCxe0rwPG8wY2m42SkpIFOZ4UYGJjY+ns7OTss89GpVLJAWZgYIDm5uYpWrKREqsOVLefb5+fn//859x6660zuiecKJdeeukJSwooFArcbje/+tWvuOqqq064LB4OkSoNXw08ERMTk5OSkkJ5eTl///vf6evr4+tf/zpvvvkmAG+++Sbf//735Qh7333j6gVtbW1s374dg8HAunXreP755yOuW3Gy8Hq9NDQ0UFVVxauvvsqBAwfIysqirKxM7oFZvXr1vOppeDweqqur5RH/haS2thadThcyNxToCSzN0UQiwAwNDTE0NDQvY/+BNDc3841vfIOPPvrolJu/GRgYICsri507d/LWW2+hVCpZt24d3/72t6mtrT3R/NVnu2ntdMDpdHLWWWfx17/+lYyMDGpra+UmO0nOMrAHpqysLGKCyrW1taSlpYUt2RgpRkZG6O7uZu3atbNaWgdaRZjNZlkNP7CLV6vVhgwwHo+HqqoqKisr57UZTxRFbrjhBn7wgx9MW8k8Gbz//vt84xvf4PnnnyclJYXi4mJEUeTpp5/m0Ucf5cYbb+THP/7xibx0NJicCuj1+pCaIg6Hg6NHj8oB5vjx48TExLB27Vp5i3Qi/RnDw8P09fXNKel6IkR6NTQ5wFgsFoApdhtKpZKmpibi4+MnVA/ng3/84x88//zz7Nq1a0Gvbbi8/PLLGAwGvvWtb034/dVXX81///d/k56efiI5lGgwOR2xWq0cPHhQ7uJtaGggMTFxQgVp2bJl0w4R1tTUzPsdOhiNjY0kJCSwJEzr1BMh0DBMWsF4vd7xyevCQnmLNB85E7fbzZYtW/jLX/6yoJap4XD33XezadMmsrOzuffeeykvL+f+++9HEAREUaSvr4/8/PwpydkwiQaTzwpGo5Gamho5wLS2tqLT6eQp6srKSpYsWYIgCLzwwgtcdNFF896sNZnR0VFaW1tD2mTMF9IAYU5ODl6vVw4wUjI4cAUz1wDzxBNPYLPZeOCBByJ09pFBFEWuuOIKent7uf/++4mNjeXFF1/krrvumlUVaBqiweSzzODgoNxkV11dTWdnpzyNe+edd1JRURERpflwkASPVq9eHfES9Ez09fVhNptZsWLFhN8HujpKASaYbWy4AWZoaIgrr7ySTz75JOLv8Yc//CF//etfiYmJYdmyZfzv//7vrNXgenp6uP766yksLGT58uW8+uqrGAwGjhw5EglPnWgw+TzR29vLxRdfzL333kttbS3V1dUMDAxQUFAwoQdmPkqZra2tKJVK8vPzI/7a0yFt6TZs2BBWVeVEA4woinznO99h27ZtbN++PeLv4+2332bLli2oVCruuusugGltYwL54IMP+OlPf8rjjz9OWloa77//Ptu2baOpqYm+vj6uueaaSPSZRIPJ54kPP/xQ3tNLSMN90vaouroao9FIcXGxvEUqLy+f053LYrFQX1/P+vXr5723YzJ1dXWkpaXNaQUWKDFgsVjkACMFl5GREex2Ow888AB79uyZ9/f4l7/8hVdeeYUXXnghrMdbrVb++Mc/8vTTT5OZmYlCoeCCCy7g9ttvlxP30WASZV6Q5lYChabsdjulpaVygnfNmjVhLeV9Ph/V1dWUlpYuqOARjOdo2tra5kU+QgowJpOJH/7whxw8eJCsrCzOO+88rrzySi68cE6N4dNyxRVXcMMNN3DTTTfN+rmPP/44zzzzDL29vezbty+S+ifRYBIlPDweD7W1tfIK5vDhw3i9XlavXi0neMvKyqZUhzo6OvB6vSxbtmxBz3e+RakDefHFF6mqquLhhx/m0KFDKJXKsL2bA7nwwgsZGBiY8vuf/exncvf3z372M6qrq/nzn/886x4dacU0PDzMzp07+cEPfjDrc5yGaDCJcuK4XC6OHj0qB5hjx46hUqlYu3Yt5eXl6HQ6du3axTPPPLPg25vOzk48Hs+8BzGr1crWrVvZu3fvvHoSAzzzzDP8/ve/Z8+ePSec4J1c9j3BMnAwosEkSmSx2WwcPnyYTz/9lEcffZTc3Fy5XVvaIhUVFc1rcHE6nRw+fHhBVNvuv/9+cnNz+d73vjevx3nrrbe488472bdv34KboYVJNJhIeL1e1q9fT05ODq+//vrJPp3Tnueff57q6moef/xxTCYTBw8elHMwTU1NpKamygneiooKli5dGrG8xpEjR8jJyZn3lUJbWxu33HILH330UcRGHEJRVFSEy+WSK21nnnkmTz755Lwec5ZEg4nEY489RnV1NWazORpMIoAkSxhqOa7X62UdmKqqKjo6OsjKypogNHUiM0N6vV4eE5hPRFHkS1/6Et/73vfmNdl6GnF6++ZEip6eHt544w3uu+8+HnvssZN9Op8JZtrTL1q0iEsuuYRLLrlE/l1fX58cYP7whz/Q19fH0qVLJ2yRpltteL1eWlpaKC8vj9TbCMnevXtRqVRs3bp13o91uvO5Wplcd9113HPPPVgsFn7xi19EVyanCKIo0tnZSXV1tbxFGhkZYdmyZXJwCTRbe+eddygqKpr3xrixsTG2bNnCyy+/HHH7k9OY6Mrk9ddfJyMjg8rKynlRxIpy4giCQH5+Pvn5+Vx33XXAePWhpaWFqqoq3n77bR566CGsVit5eXnU1dXxxBNPkJ6ePq/l4KeeeoovfOEL0UASJp+blck999zDc889h0qlkk2prrnmGp5//vmIH6u7u5ubb76ZwcFBBEHgm9/8JrfffnvEj/N5Y2xsjE2bNrFp0yaMRiOHDh3C7XZTVlYmr2BWr14dEWEtaf7m448/nvf+ldOMaAI2kPfee29etzn9/f309/dTUVGBxWKhsrKSV1999WS6sH0m6O3t5fe///2ESV232y2brVVXV3PkyBEUCkVIs7Vw+e53v8vWrVv58pe/HOm3cboT3eYsJNnZ2XKFIjExkdLSUnp7e6PBZI7k5ORMGfmPiYmhsrJygnWHw+GQzdZ++9vfUltbS1xcHOXl5fIKpri4OGRvyuHDh2ltbeWpp56a1/fzWeNzuTJZSDo6Ojj//PM5fvx4JMa/o5wgZrOZQ4cOySXqxsZGkpKS5OAima2Joshll13GL3/5yykWKFGA6Dbn5GC1Wrngggu47777uOaaa0726USZhMFgmKAD09bWhs/no7CwkN27588K6tFHH+UHP/gBw8PD895wNw9Eg8lCMzY2xuWXX862bdu48847T/bpRAmTpqYmVCrVvFVwuru7+frXv05DQwM1NTWfqWCysFNZnxNEUeRrX/sapaWl8x5I3nrrLZYvX05RURE7duyY12N9HigpKZnXUvAdd9zBI488ckoKUM+VaDCZB/bv389zzz3Hu+++S3l5OeXl5bJ3UCTxer3cdttt/O1vf6Ouro4XX3yRurq6iB8nSmTYvXs3OTk58+57fLKIVnPmgXPPPZcIbx+DcuDAAYqKiuQ76fbt29m9e3e0anQSmU6r5MEHH+Ttt98+CWe1MESDyWlMb2/vBG+YJUuW8Omnn57EM4ryzjvvBP39sWPHaG9vl1clPT09VFRUyA6PnwWiwSRKlAVg9erVDA0NyT/n5+dTXV19OiZgQxLNmZzG5OTk0N3dLf/c09NDTk7Oghz7hz/8IStWrGDNmjVcffXVjI6OLshxo5y6RIPJacyGDRtobm6mvb0dt9vNSy+9xJVXXrkgx77ooos4fvw4R48epaSkhIceemhBjvtZoaOj4zO1KoFoMDmtUalU/OY3v2Hbtm2UlpZy/fXXR8q1bUYuvvhi2Z/mzDPPpKenZ0GOG+XUJdq0FmXOzMWSIcppR3TQL8rsCdeSQaVSceONNy706UU5xYiuTKKcMJGwZIhy2hFtp48SWd566y0eeeQRXnvttQULJI8++iiCIKDX6xfkeFFmR3RlEuWEWGhLhs/AgNxnhWjOJEpkaWlpWdDjSQNyUq4myqlHdJtzCuN2u6mursbn8034/ULM/ZxKfNYH5D4rRFcmpzB9fX3cfPPN1NXV0dHRwTe+8Q1efvllUlJSsFgsJCYmnuxTjBif5wG5zwrRYHIK09/fT1FRET6fjzvuuIO2tjY0Gg0tLS188Ytf5Pjx4/IqZaENwyPN53lA7rNCNJicgoiiiCAIHDlyhIyMDD755BO6urq49957qampYe/evXznO99BEITPpMhOIJ+HAbnPCpGu5kSJAIIgKERR9AmC8DBwLvBzYA1wGLgY6ABeBi4HcoDXRVH86OSc7cIiCEIHsF4UxWh9+BQjujI5NZEi/DnAEuAA4AG+DLiBt0RR7BQE4Q2gANgmCEK3KIrdQV/tM4Qoivkn+xyiBCcaTE5BRFEUBUFQAHuANlEU+wRBuBzYDmwURfG4/3EdgiAUAkrAF/oVo0SZf6LbnNMEQRCygHNEUfw//8+xwC2AE/ijKIruk3l+UaKc3iWAzziCIMiWc6IoDgQEkgzgUeDfGV9d6k7OGUaJ8k+iK5PTBEEQBDHgjyUIQhywAsgC+kRRPHrSTi5KFKLBJEqUKBEius05jRH8nOzziBIFoiuTKFGiRIjoyiRKlCgRIRpMokSJEhGiwSRKlCgRIRpMokSJEhGiwSRKlCgRIRpMokSJEhGiwSRKlCgR4f8DZZTD6R4In8oAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# import three-dimensional plotting library into namespace\n",
    "from mpl_toolkits.mplot3d import Axes3D\n",
    "\n",
    "### evaluate our function over a fine range of points on a square\n",
    "# produce grid of values\n",
    "s = np.linspace(-5,5,500)\n",
    "w1,w2 = np.meshgrid(s,s)\n",
    "\n",
    "# reshape grid and evaluate all points using our function\n",
    "w_1 = np.reshape(w1,(1,np.size(w1)))\n",
    "w_2 = np.reshape(w2,(1,np.size(w2)))\n",
    "g_vals = g(w_1,w_2)\n",
    "\n",
    "# generate figure and panel\n",
    "fig = plt.figure(figsize = (4,4))\n",
    "ax1 = fig.gca(projection='3d')\n",
    "\n",
    "# re-shape inputs and output for plotting\n",
    "# matplotlib's surface plotter requires all\n",
    "# three input arguments are 2d arrays\n",
    "w1 = np.reshape(w1,(np.size(s),np.size(s)))\n",
    "w2 = np.reshape(w2,(np.size(s),np.size(s)))\n",
    "g_vals = np.reshape(g_vals,(np.size(s),np.size(s)))\n",
    "\n",
    "# Plot the surface\n",
    "ax1.plot_surface(w1,w2,g_vals,alpha = 0.25,color = 'r',cstride = 50,rstride = 50,edgecolor = 'k')\n",
    "ax1.set_title(r'$g\\left(\\mathbf{w}\\right)$',fontsize = 12)\n",
    "ax1.set_xlabel(r'$w_1$',fontsize = 10)\n",
    "ax1.set_ylabel(r'$w_2$',fontsize = 10)\n",
    "ax1.view_init(30,200)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "do8q_gyMST3D"
   },
   "source": [
    "Now we use ``autograd``'s ``grad`` function to compute the two partial derivative functions here.  In this example since our function $g$ takes in two inputs its gradient consists of two partial derivative functions each of which takes in the two inputs $w_1$ and $w_2$ as well\n",
    "\n",
    "\\begin{equation}\n",
    "\\nabla g\\left(w_1,w_2\\right) = \n",
    "\\begin{bmatrix}\n",
    "\\frac{\\partial}{\\partial w_1}g\\left(w_1,w_2\\right) \\\\\n",
    "\\frac{\\partial}{\\partial w_2}g\\left(w_1,w_2\\right)\n",
    "\\end{bmatrix}.\n",
    "\\end{equation}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "29i7rVrTST3D"
   },
   "source": [
    "We can use the same `autograd` functionality used previously with single input functions here, with one simple addition - now we specify which partial derivative function we wish to construct.  If we use the exact same call we used e.g., in the previous example and write\n",
    "\n",
    "                                        grad(g)\n",
    "\n",
    "here - since our function takes in two inputs - this will return the *first* partial derivative $\\frac{\\partial}{\\partial w_1}g\\left(w_1,w_2\\right)$.  This is the *default* setting of each automatic differentiation method in `autograd`.  \n",
    "\n",
    "Alternatively to compute this partial derivative function we can explicitly pass a second argument to `grad` - or any of the other `autograd` methods - which is a simple index denoting which partial derivative we want.  To create the same (first) partial derivative this way we pass in the index `0` - since `Python` indexing starts with `0`\n",
    "\n",
    "                                        grad(g,0)\n",
    "\n",
    "To construct the second partial derivative we use the same `Pythonic` language, but pass the second index `1`\n",
    "\n",
    "                                        grad(g,1)\n",
    "\n",
    "More generally speaking, if $g$ took in $N$ inputs $w_1$ through $w_N$ we can construct its $n^{th}$ partial derivative using the same pattern as\n",
    "\n",
    "                                        grad(g,n-1)\n",
    "\n",
    "and so on.\n",
    "\n",
    "Back to our example - below define both partial derivatives using these commands below."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "id": "l8ABTIRbST3D"
   },
   "outputs": [],
   "source": [
    "# compute the gradient of our input function\n",
    "dgdw1 = grad(g,0)\n",
    "dgdw2 = grad(g,1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "LDKfQ7IfST3D"
   },
   "source": [
    "These two partial derivative functions can now be used precisely as the original function $g$ in `Python`, which we do to produce plots of each as shown below. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 268
    },
    "id": "rKtSF_hRST3E",
    "outputId": "729ad7a0-4d6a-4d0c-bb9e-3ce314a18a1f",
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 648x288 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# load in the gridspec tool from matplotlib for better subplot handling\n",
    "from matplotlib import gridspec\n",
    "\n",
    "# produce grid of values to plot over\n",
    "s = np.linspace(-5,5,500)\n",
    "w1,w2 = np.meshgrid(s,s)\n",
    "\n",
    "# reshape grid and evaluate all points using our function\n",
    "w1 = np.reshape(w1,(1,np.size(w1)))\n",
    "w2 = np.reshape(w2,(1,np.size(w2)))\n",
    "\n",
    "# evaluate original function and partial derivatives\n",
    "g_vals = g(w1,w2)\n",
    "partial_1vals = np.array([dgdw1(a[0],b[0]) for a,b in zip(w1.T,w2.T)])\n",
    "partial_2vals = np.array([dgdw2(a[0],b[0]) for a,b in zip(w1.T,w2.T)])\n",
    "\n",
    "# reshape each partial evaluations appropriately for plotting\n",
    "w1 = np.reshape(w1,(np.size(s),np.size(s)))\n",
    "w2 = np.reshape(w2,(np.size(s),np.size(s)))\n",
    "g_vals = np.reshape(g_vals,(np.size(s),np.size(s)))\n",
    "partial_1vals = np.reshape(partial_1vals,(np.size(s),np.size(s)))\n",
    "partial_2vals = np.reshape(partial_2vals,(np.size(s),np.size(s)))\n",
    "\n",
    "# initialize figure\n",
    "fig = plt.figure(figsize = (9,4))\n",
    "ax1=fig.add_subplot(131,projection='3d')\n",
    "ax2=fig.add_subplot(132,projection='3d')\n",
    "ax3=fig.add_subplot(133,projection='3d')\n",
    "\n",
    "# plot surfaces\n",
    "ax1.plot_surface(w1,w2,g_vals,alpha = 0.25,color = 'r',cstride = 50,rstride = 50,edgecolor = 'k')\n",
    "ax1.set_title(r'$g\\left(\\mathbf{w}\\right)$',fontsize = 12)\n",
    "ax1.set_xlabel(r'$w_1$',fontsize = 10)\n",
    "ax1.set_ylabel(r'$w_2$',fontsize = 10)\n",
    "ax1.view_init(30,200)\n",
    "\n",
    "ax2.plot_surface(w1,w2,partial_1vals,alpha = 0.25,color = 'r',cstride = 50,rstride = 50,edgecolor = 'k')\n",
    "ax2.set_title(r'$\\frac{\\partial}{\\partial w_1}g\\left(\\mathbf{w}\\right)$',fontsize = 12)\n",
    "ax2.set_xlabel(r'$w_1$',fontsize = 10)\n",
    "ax2.set_ylabel(r'$w_2$',fontsize = 10)\n",
    "ax2.view_init(30,200)\n",
    "\n",
    "ax3.plot_surface(w1,w2,partial_2vals,alpha = 0.25,color = 'r',cstride = 50,rstride = 50,edgecolor = 'k') \n",
    "ax3.set_title(r'$\\frac{\\partial}{\\partial w_2}g\\left(\\mathbf{w}\\right)$',fontsize = 12)\n",
    "ax3.set_xlabel(r'$w_1$',fontsize = 10)\n",
    "ax3.set_ylabel(r'$w_2$',fontsize = 10)\n",
    "ax3.view_init(30,200)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "-SzZ92AKST3E"
   },
   "source": [
    "#### <span style=\"color:#a50e3e;\">Example 5. </span> Computing several derivatives or the full gradient of a multi-input functions using ``autograd``"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "ICL3PkQLST3E"
   },
   "source": [
    "Building on the previous example, here we look at how to use `autograd` to construct several partial derivative functions or the entire gradient of a multi-input function.  We do this via example, using the same of function employed in the previous example.\n",
    "\n",
    "There are two ways to construct multiple partial derivative functions at once - including the full gradient - using `autograd`.  The first way is to simply index all the partial derivatives desired using the same sort of notation introduced previously.  So here - for example - if we wish to construct the full gradient of our function (it has two partial derivatives) we tell `autograd` of this desire by feeding in the two indices $(0,1)$ as shown below\n",
    "\n",
    "                                        grad(g,(0,1))\n",
    "\n",
    "More generally, for a function taking in $N$ inputs, to construct any subset of partial derivatives at once we use the same sort of indexing notation.  Note: this usage applies to all methods in the `autograd` automatic differentiation library (like e.g., `value_and_grad`)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "X7RJG0EiST3E"
   },
   "source": [
    "We do this below for the function shown in the previous example, producing a function for its complete gradient."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "XPfK5WoqST3E"
   },
   "outputs": [],
   "source": [
    "# construct all partial derivative functions at once\n",
    "nabla_g = grad(g,(0,1))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "NyCd6MxpST3F"
   },
   "source": [
    "The second way to construct several derivatives at once using `autograd` is by writing a function in `numpy` where all the desired variables we wish to differentiate with respect to are all input into the function as a *single argument*.  For example, if instead of writing out our function in `Python` as"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "id": "f2txonFcST3F"
   },
   "outputs": [],
   "source": [
    "# a simple multi-input function defined in python \n",
    "def g(w_1,w_2):\n",
    "    return np.tanh(w_1*w_2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "8j0I0RRGST3F"
   },
   "source": [
    "where both $w_1$ and $w_2$ are fed in one-at-a-time, if we write it equivalently using vector-notation where $\\mathbf{w} = \\begin{bmatrix}w_1 \\\\ w_2 \\end{bmatrix}$ as"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "id": "H44aM3IfST3F"
   },
   "outputs": [],
   "source": [
    "def g(w):\n",
    "    return np.tanh(w[0]*w[1])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "72ifcWJ9ST3F"
   },
   "source": [
    "then the call\n",
    "\n",
    "                                        grad(g)\n",
    "\n",
    "or equivalently\n",
    "\n",
    "                                        grad(g,0)\n",
    "\n",
    "will produce derivatives of $g$ with respect to its *first argument* - which here will give us the complete gradient of $g$.  Before that first argument was just $w_1$, but now in our new way of writing the function it is the complete set of inputs $\\mathbf{w}$ (i.e., all partial derivatives of the function)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "7gqYnQ0OST3G"
   },
   "source": [
    "This indexing format holds more generally as well - if in the way we express a function in `numpy` it takes in $N$ inputs, the statement\n",
    "\n",
    "                                        grad(g,n-1)\n",
    "\n",
    "computes the derivatives of the function with respect to whatever the $n^{th}$ input is - i.e., whether it is a single variable or multiple variables."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "yPnQgrFyST3G"
   },
   "source": [
    "As another example, take the inner product function of two length $M$ vectors $\\mathbf{a}$ and $\\mathbf{b}$\n",
    "\n",
    "\\begin{equation}\n",
    "g\\left(\\mathbf{a},\\mathbf{b}\\right) = \\mathbf{a}^T\\mathbf{b}\n",
    "\\end{equation}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "1-goFhdNST3G"
   },
   "source": [
    "Writing \n",
    "\n",
    "                                        grad(g)\n",
    "\n",
    "or \n",
    "\n",
    "                                        grad(g,0)\n",
    "\n",
    "gives us the partial derivative functions for all entries of $\\mathbf{a}$.  Likewise\n",
    "\n",
    "                                        grad(g,1)\n",
    "\n",
    "gives us the partial derivative functions for all entries of $\\mathbf{b}$."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "-RJLUZOxST3G"
   },
   "source": [
    "## Automatic Differentiation versus Numerical and Symoblic Differentiation"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "fOi4oc1CST3G"
   },
   "source": [
    "Automatic Differentiators are gradient calculators that compute and provide a *compute program-based* function for evaluating the derivative(s) of a function.  There are however other kinds of gradient calculators - including *Numerical Differentators* and *Symbolic Differentiators*.  The former are built using the fundamental *limit definition* of the derivative (not the derivative rules themselves).  While simple to implement they have stability issues that make them less useful as a universal gradient calculator (this is discussed in further detail in the text's appendix).  Symbolic Differentiators - which computes an algebraic formula for derivatives instead of a compute program function - are far less useful for our applications since we primarily need *programmatic gradient functions* (for use in local optimization schemes).  In addition, algebraic derivative equations can quickly become unweildly and require large amounts of memory to represent (particularly with multi-input functions, which we deal with extensively in machine learning).  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "D04IGbrWST3H"
   },
   "source": [
    "##  Flattening mathematical functions using `autograd`"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "1YfpQHbcST3H"
   },
   "source": [
    "Mathematical functions come in all shapes and sizes and - moreover - we can often express indnividual equations in a variety of different ways.  This short section discusses a standardization technique called *function flattening*, which allows us to express any mathematical function  in the generic form $g\\left(\\mathbf{w}\\right)$ we have been using thus far.  Flattening is a particularly useful *pre-processing* step as it allows us to more broadly understand the fundamental optimization precepts we have / will see as well as more easily *implement* (in code) local optimization steps of the generic form\n",
    "\n",
    "\\begin{equation}\n",
    "\\mathbf{w}^{k} = \\mathbf{w}^{k-1} + \\alpha \\, \\mathbf{d}^{k}.\n",
    "\\end{equation}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "I0CzFty5ST3H"
   },
   "source": [
    "Take the following quadratic function $f$ of two $N\\times 1$ variables $\\mathbf{a}$ and $\\mathbf{b}$\n",
    "\n",
    "\\begin{equation}\n",
    "f\\left(\\mathbf{a},\\mathbf{b} \\right) = \\left(\\sum_{n=1}^{N} a_nb_n\\right)^2.\n",
    "\\end{equation}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "rv46gFwuST3H"
   },
   "source": [
    "This function is not written in the generic form $g\\left(\\mathbf{w}\\right)$ we have used throughout this Chapter (and which we will use throughout future Chapters as well), but of course all of the principles and algorithms we have seen / will see still apply to it.  So we can e.g., apply gradient descent to minimize the function.  To do this however we need to compute the gradient of $h$ with respect to  each input variable $\\mathbf{a}$ and $\\mathbf{b}$, and descend in each input variable as\n",
    "\n",
    "\\begin{equation}\n",
    "\\begin{array}\n",
    "\\\n",
    "\\mathbf{a}^k = \\mathbf{a}^{k-1} - \\alpha \\, \\nabla_{\\mathbf{a}}\\,f\\left(\\mathbf{a}^{k-1},\\mathbf{b}^{k-1}\\right) \\\\\n",
    "\\mathbf{b}^k = \\mathbf{b}^{k-1} - \\alpha \\, \\nabla_{\\mathbf{b}}\\,f\\left(\\mathbf{a}^{k-1},\\mathbf{b}^{k-1}\\right) \\\\\n",
    "\\end{array}\n",
    "\\end{equation}\n",
    "\n",
    "in order to complete the $k^{th}$ step. \n",
    "\n",
    "There is a absolutely nothing wrong with this - it is a valid gradient descent step for the function given above.  It is however slightly more cumbersome to write - and implement - than a function of a single set of inputs like our standard $g\\left(\\mathbf{w}\\right)$ whose descent step can be written and implemented in a single line (one taken in $\\mathbf{w}$).  This annoyance is greatly amplified when dealing with functions of many inputs variables - which can be scalars, vectors, or even matrices - which we will regularly encounter during our machine learning voyage.  For such functions, in order to take a single gradient descent step we must *loop* over their many different input variables."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "wLWn4sQJST3H"
   },
   "source": [
    "Thankfully every mathematical function can be re-expressed so that *all* of its input variables are represented as a single contiguous array $\\mathbf{w}$, which alleivates this irritation.  For example in the example above we can easily see that by *re-indexing* entries of $\\mathbf{a}$ and $\\mathbf{b}$ using a single array as\n",
    "\n",
    "\\begin{equation}\n",
    "\\mathbf{w} = \n",
    "\\begin{bmatrix}\n",
    "a_1 \\\\\n",
    "\\vdots \\\\\n",
    "a_N \\\\\n",
    "b_1 \\\\\n",
    "\\vdots \\\\\n",
    "b_N \\\\\n",
    "\\end{bmatrix} = \n",
    "\\begin{bmatrix}\n",
    "w_1 \\\\\n",
    "\\vdots \\\\\n",
    "w_N \\\\\n",
    "w_{N+1} \\\\\n",
    "\\vdots \\\\\n",
    "w_{2N} \\\\\n",
    "\\end{bmatrix}\n",
    "\\end{equation}\n",
    "\n",
    "the function in equation (1) above can then be equivalently written as\n",
    "\n",
    "\\begin{equation}\n",
    "g\\left(\\mathbf{w}\\right) = \\sum_{n=1}^N\\left(w_nw_{n+N}\\right)^2.\n",
    "\\end{equation}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "QnMRMa3oST3H"
   },
   "source": [
    "Again note that all we have really done here is *re-indexed* the entries of both input vectors in a contiguous manner.  When expressed in this standardized manner we can both more easily reference optimization principles (which were scribed in Sections for functions in this standard form) and implement local optimization schemes like gradient descent in a less cumbersome way in a single line of algebra or `autograd` `Python` code, instead of requiring a loop over each input variable.  This variable re-indexing scheme is called *function flattening*, and can be applied to any mathematical function in principle. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "ipifVJ6HST3H"
   },
   "source": [
    "While performing the re-indexing required to flatten a function properly by hand for each and every function we come across is important, it (like derivative computation itself) is a repetitive and time consuming operations for human to perform themselves.  Therefore *in practice* we will automate this task, employing a flattening module from the `Python` `autograd` library.  This module can be imported from the `autograd` library (introduced in the previous Section) via the line below."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "id": "6HCqVaSUST3H"
   },
   "outputs": [],
   "source": [
    "# import function flattening module from autograd\n",
    "from autograd.misc.flatten import flatten_func"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "q7ctxnyIST3H"
   },
   "source": [
    "#### <span style=\"color:#a50e3e;\">Example 5. </span>  Gradient descent on a flattened function"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "NbAoHyA_ST3I"
   },
   "source": [
    "In this example we take the following function of several variables - a scalar, vector, and matrix"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "LUEjSIjhST3I"
   },
   "source": [
    "\\begin{equation}\n",
    "f\\left(a,\\mathbf{b},\\mathbf{C}\\right) = \n",
    "\\left(a + \\mathbf{z}^T\\mathbf{b} + \n",
    "\\mathbf{z}^T\\mathbf{C}\\mathbf{z} \n",
    "\\right)^2\n",
    "\\end{equation}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "w2nobHHwST3I"
   },
   "source": [
    "and flatten it using the `autograd` module `flatten_func` in order to then minimize it using the gradient descent implementation given above.  Here the input variable $a$ is a scalar, $\\mathbf{b}$ is a $2 \\times 1$ vector, $\\mathbf{C}$ is a $2\\times 2$ matrix, and the non-variable vector $\\mathbf{z}$ is fixed at $\\mathbf{z} = \\begin{bmatrix} 1 \\\\ 1 \\end{bmatrix}$."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 243
    },
    "id": "M9TQPxQYSmmy",
    "outputId": "3bafbca9-e78c-4bae-d80a-fb571ac128b7"
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABDEAAAJeCAYAAACteJ44AAAMFWlDQ1BJQ0MgUHJvZmlsZQAASImVVwdYU8kWnltSCEkogQhICb0JUqRL70VAOtgISYBQAiQEFTu6qOBaUBEBG7oCYlsLIGvFriyCvT8QUVlZFwtYUHmTArq+9r3zfXPnz5lzzvxn7rmTGQCUbNi5uVmoMgDZgnxhVKAPKyExiUV6AlBAByrAEdizOaJc78jIMABltP+7DN0GiKS/YSWJ9a/j/1VUuDwRBwAkEuIUroiTDfERAHANTq4wHwBCG9Qbzs7PleABiNWEkCAARFyC02RYQ4JTZHiC1CYmyhdiLwDIVDZbmAYAXcKbVcBJg3HoEo42Ai5fAHE1xB6cdDYX4ocQT8jOzoFYiQyxWcp3cdL+FjNlLCabnTaGZblIhezHF+Vmsef+n8vxvyU7Szw6hwFs1HRhUJQkZ7hudZk5oRJMhfi4ICU8AmJViC/xuVJ7Cb6fLg6Kldv3c0S+cM0AE8DXzWX7hUKsDTFTnBnrLcd2bKHUF9qj4fz84Bg5ThHmRMnjowWCrPAweZwV6bzgUbyVJ/KPHrVJ5QcEQwwrDT1SmB4TL+OJnivgx4VDTIe4Q5QZHSr3fVyY7hs+aiMUR0k4G0H8LlUYECWzwTSyRaN5YdYctnQuWAuYV356TJDMF0vgiRLCRjlweX7+Mg4YlyeIlXPDYHX5RMl9i3OzIuX22FZeVmCUbJ2xg6KC6FHf6/mwwGTrgD3JYIdEyucays2PjJFxw1EQBnyBH2ABMWwpIAdkAH57f1M//CUbCQBsIARpgAes5JpRj3jpiAA+o0Eh+BMiHhCN+flIR3mgAOq/jGllTyuQKh0tkHpkgmcQZ+NauAfuhofBpxdsdrgz7jLqx1IanZXoT/QjBhEDiOZjPDiQdRZsQsD/N7pQ2PNgdhIugtEcvsUjPCN0Ep4QbhG6CPdAHHgqjSK3msUvEv7AnAWmgC4YLUCeXcr32eEmkLUD7oO7Q/6QO87EtYAVPglm4o17wtwcoPZ7huIxbt/W8sf5JKy/z0eup1vQHeQsUsbejO+Y1Y9RfL9bIy7sQ3+0xFZgh7GL2BnsMnYcawIs7BTWjLVhJyR4rBKeSithdLYoKbdMGIc/amPTYNNn8/mHudny+SXrJcrnzcmXfAy+Oblzhfy09HyWN9yNeaxgAcd6AsvOxtYZAMneLts63jKlezbCvPJNl3caAJcSqEz7pmMbAnDsGQCMoW86wzew3NcCcKKDIxYWyHSS7RgQAAUowa9CE+gCQ2AG87GD/yBuwAv4gxAQAWJAIpgJVzwdZEPOs8F8sAQUg1KwFmwElWAb2AnqwD5wCDSB4+AMuACugg5wCzyAddELXoIBMASGEQQhITSEgWgieogxYonYIc6IB+KPhCFRSCKSjKQhAkSMzEeWIqVIGVKJ7EDqkV+RY8gZ5DLSidxDupE+5A3yCcVQKqqG6qAm6ETUGfVGQ9EYdAaahuahhegydDVagdage9FG9Ax6Fb2FdqEv0UEMYIoYE9PHrDBnzBeLwJKwVEyILcRKsHKsBtuPtcD3fAPrwvqxjzgRZ+As3ArWZhAei3PwPHwhvgqvxOvwRvwcfgPvxgfwrwQaQZtgSXAlBBMSCGmE2YRiQjlhN+Eo4Tz8bnoJQ0QikUk0JTrB7zKRmEGcR1xF3EI8QDxN7CT2EAdJJJImyZLkToogsUn5pGLSZtJe0inSdVIv6QNZkaxHtiMHkJPIAnIRuZy8h3ySfJ38nDysoKxgrOCqEKHAVZirsEZhl0KLwjWFXoVhigrFlOJOiaFkUJZQKij7KecpDylvFRUVDRRdFKcq8hUXK1YoHlS8pNit+JGqSrWg+lKnU8XU1dRa6mnqPepbGo1mQvOiJdHyaatp9bSztMe0D3QG3ZoeTOfSF9Gr6I306/RXSgpKxkreSjOVCpXKlQ4rXVPqV1ZQNlH2VWYrL1SuUj6mfEd5UIWhYqsSoZKtskplj8pllReqJFUTVX9Vruoy1Z2qZ1V7GBjDkOHL4DCWMnYxzjN61YhqpmrBahlqpWr71NrVBtRV1Sepx6nPUa9SP6HexcSYJsxgZhZzDfMQ8zbz0zidcd7jeONWjts/7vq49xrjNbw0eBolGgc0bml80mRp+mtmaq7TbNJ8pIVrWWhN1ZqttVXrvFb/eLXxbuM540vGHxp/XxvVttCO0p6nvVO7TXtQR1cnUCdXZ7POWZ1+Xaaul26G7gbdk7p9egw9Dz2+3ga9U3p/sNRZ3qwsVgXrHGtAX1s/SF+sv0O/XX/YwNQg1qDI4IDBI0OKobNhquEGw1bDASM9oylG840ajO4bKxg7G6cbbzK+aPzexNQk3mS5SZPJC1MN02DTQtMG04dmNDNPszyzGrOb5kRzZ/NM8y3mHRaohYNFukWVxTVL1NLRkm+5xbJzAmGCywTBhJoJd6yoVt5WBVYNVt3WTOsw6yLrJutXE40mJk1cN/HixK82DjZZNrtsHtiq2obYFtm22L6xs7Dj2FXZ3bSn2QfYL7Jvtn89yXISb9LWSXcdGA5THJY7tDp8cXRyFDrud+xzMnJKdqp2uuOs5hzpvMr5kgvBxcdlkctxl4+ujq75rodc/3Kzcst02+P2YrLpZN7kXZN73A3c2e473Ls8WB7JHts9ujz1PdmeNZ5PvAy9uF67vZ57m3tneO/1fuVj4yP0Oerz3tfVd4HvaT/ML9CvxK/dX9U/1r/S/3GAQUBaQEPAQKBD4LzA00GEoNCgdUF3gnWCOcH1wQMhTiELQs6FUkOjQytDn4RZhAnDWqagU0KmrJ/yMNw4XBDeFAEigiPWRzyKNI3Mi/xtKnFq5NSqqc+ibKPmR12MZkTPit4TPRTjE7Mm5kGsWaw4tjVOKW56XH3c+3i/+LL4roSJCQsSriZqJfITm5NISXFJu5MGp/lP2zitd7rD9OLpt2eYzpgz4/JMrZlZM0/MUprFnnU4mZAcn7wn+TM7gl3DHkwJTqlOGeD4cjZxXnK9uBu4fTx3Xhnveap7alnqizT3tPVpfeme6eXp/XxffiX/dUZQxraM95kRmbWZI1nxWQeyydnJ2ccEqoJMwbkc3Zw5OZ25lrnFuV15rnkb8waEocLdIkQ0Q9ScrwaPOW1iM/FP4u4Cj4Kqgg+z42YfnqMyRzCnba7F3JVznxcGFP4yD5/Hmdc6X3/+kvndC7wX7FiILExZ2LrIcNGyRb2LAxfXLaEsyVzye5FNUVnRu6XxS1uW6SxbvKznp8CfGorpxcLiO8vdlm9bga/gr2hfab9y88qvJdySK6U2peWln1dxVl352fbnip9HVqeubl/juGbrWuJawdrb6zzX1ZWplBWW9ayfsr5xA2tDyYZ3G2dtvFw+qXzbJsom8aauirCK5s1Gm9du/lyZXnmryqfqQLV29crq91u4W65v9dq6f5vOttJtn7bzt9/dEbijscakpnwncWfBzme74nZd/MX5l/rdWrtLd3+pFdR21UXVnat3qq/fo71nTQPaIG7o2zt9b8c+v33N+6327zjAPFB6EBwUH/zj1+Rfbx8KPdR62Pnw/iPGR6qPMo6WNCKNcxsHmtKbupoTmzuPhRxrbXFrOfqb9W+1x/WPV51QP7HmJOXkspMjpwpPDZ7OPd1/Ju1MT+us1gdnE87ePDf1XPv50POXLgRcOHvR++KpS+6Xjl92vXzsivOVpquOVxvbHNqO/u7w+9F2x/bGa07XmjtcOlo6J3eevO55/cwNvxsXbgbfvHor/Fbn7djbd+9Mv9N1l3v3xb2se6/vF9wffrD4IeFhySPlR+WPtR/X/MP8Hwe6HLtOdPt1tz2JfvKgh9Pz8qno6efeZc9oz8qf6z2vf2H34nhfQF/HH9P+6H2Z+3K4v/hPlT+rX5m9OvKX119tAwkDva+Fr0ferHqr+bb23aR3rYORg4+HsoeG35d80PxQ99H548VP8Z+eD8/+TPpc8cX8S8vX0K8PR7JHRnLZQrb0KIDBhqamAvCmFgBaIjw7dABAocvuXlJBZPdFKQL/CcvuZ1JxBKDWC4DYxQCEwTPKVtiMIabCXnL0jvECqL39WJOLKNXeThaLCm8whA8jI291ACC1APBFODIyvGVk5MsuSPYeAKfzZHc+iRDh+X67tQR19L4CP8o/AUcvbU6zpRIfAAAACXBIWXMAABYlAAAWJQFJUiTwAAACBWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+ODQ4PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjE1ODg8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KGVaGqAAAQABJREFUeAHs3QnYVVW9MPD1AopMikIKKoQozhI5g2looYWJ4hUlzSmHumr1hTaIml89Tn051L234UEtZ6nUyhxKLc3bIN7PCcMBxQkU6OKUqMj0fqx9v3N8h/PC++IZ1jn7t55nd9bZ0/qv3zr5wJ+91m5qXlWCQoAAAQIECBAgQIAAAQIECBBIXKBb4vEJjwABAgQIECBAgAABAgQIECCQCUhi+CEQIECAAAECBAgQIECAAAECdSEgiVEXwyRIAgQIECBAgAABAgQIECBAQBLDb4AAAQIECBAgQIAAAQIECBCoCwFJjLoYJkESIECAAAECBAgQIECAAAECkhh+AwQIECBAgAABAgQIECBAgEBdCEhi1MUwCZIAAQIECBAgQIAAAQIECBCQxPAbIECAAAECBAgQIECAAAECBOpCQBKjLoZJkAQIECBAgAABAgQIECBAgIAkht8AAQIECBAgQIAAAQIECBAgUBcCkhh1MUyCJECAAAECBAgQIECAAAECBCQx/AYIECBAgAABAgQIECBAgACBuhCQxKiLYRIkAQIECBAgQIAAAQIECBAgIInhN0CAAAECBAgQIECAAAECBAjUhYAkRl0MkyAJECBAgAABAgQIECBAgAABSQy/AQIECBAgQIAAAQIECBAgQKAuBCQx6mKYBEmAAAECBAgQIECAAAECBAhIYvgNECBAgAABAgQIECBAgAABAnUhIIlRF8MkSAIECBAgQIAAAQIECBAgQEASw2+AAAECBAgQIECAAAECBAgQqAsBSYy6GCZBEiBAgAABAgQIECBAgAABApIYfgMECBAgQIAAAQIECBAgQIBAXQhIYtTFMAmSAAECBAgQIECAAAECBAgQkMTwGyBAgAABAgQIECBAgAABAgTqQkASoy6GSZAECBAgQIAAAQIECBAgQICAJIbfAAECBAgQIECAAAECBAgQIFAXApIYdTFMgiRAgAABAgQIECBAgAABAgQkMfwGCBAgQIAAAQIECBAgQIAAgboQkMSoi2ESJAECBAgQIECAAAECBAgQICCJ4TdAgAABAgQIECBAgAABAgQI1IWAJEZdDJMgCRAgQIAAAQIECBAgQIAAAUkMvwECBAgQIECAAAECBAgQIECgLgR61EWUgkxSoPmhvyUZV7WDatpldLWb1B4BAgQIECBAgAABAgRyKSCJkcthL0+nV/76+vLcqM7v0l0So85HUPgECBAgQIAAAQIECNSLgCRGvYxUinG+9FyKUYmJAAECBAgQIECAAAECBBpUwJoYDTqwukWAAAECBAgQIECAAAECBBpNwJMYjTai+tNwAq+//nq4/fbbs34deOCBYcMNN2y4PuoQAQIECBAgQIAAAQIEOiMgidEZJecQqKHAJZdcEm655ZYsgqeeeiqcd955NYxG0wQIECBAgAABAgQIEKidQFPzqlK75rVczwIrjh1fz+GXLfbuV99RtnuVutGwYcPCiy++mB368Ic/HF544YVSp9lHgAABAgQIECDQ4ALNDz/Q4D1cc/eadt5zzSc5o6EFPInR0MOrc40gMGrUqGISI9YVAgQIECBAgACBfAp4O2AI3SUx8vnjb9FrSYwWGKoEUhQ466yzwkc+8pEstM985jMphigmAgQIECBAgACBagi8OKcarWiDQNICkhhJD4/gCISw2267heHDh2cUAwYMQEKAAAECBAgQIECAQIUF3nrrrXDXXXdlrey///6hX79+FW7R7TsrIInRWSnnEaihgORFDfE1TYAAAQIECBAgkDuB73//++Gmm27K+v3EE0+Ec845J3cGqXZYEiPVkREXAQIECBAgQIAAAQIECNRE4Gc/+1l4/vnns7bjUxmSGDUZhpKNdiu5104CBAgQIECAAAECBAgQIJBTga233rrY85b14k6Vmgl4EqNm9BomQIAAAQIECBAgQIAAgRQFzj333DBy5MgstIkTJ6YYYm5jksTI7dDrOAECBAgQIECAAAECBAiUEhg9enQYNmxYdmjw4MGlTrGvRgKSGDWC1ywBAgQIECBAgAABAgQIpCsgeZHm2FgTI81xERUBAgQIECBAgAABAgQIECDQRsCTGG1AfCWQmsDixYvD3XffnYU1bty40Ldv39RCFA8BAgQIECBAgAABAgSqIiCJURVmjRBYe4Ef/OAHrd5RfdZZZ639zVxJgAABAgQIECBAgACBOhaQxKjjwRN6PgSuvPLK4juq33zzzSCJkY9x10sCBAgQIECAAAECBNoLWBOjvYk9BJISGDFiRDGelvXiThUCBAgQIECAAAECBAjkRMCTGDkZaN2sX4Fzzjkn7LjjjlkHDj300CQ7smzZsvD222+H9957L/Tu3Tv069cvyTgFRYAAAQIECBAgQIBAfQtIYtT3+Ik+BwIf+9jHwvDhw7Oebrrppsn0uLm5OcycOTP88Y9/DLNmzQrLly8P/fv3z5IZQ4YMCcccc0zx3dr//Oc/w6JFi8IWW2wRmpqakumDQAgQIECAAAECBAiUEnj33XfDfffdlx0aO3Zs6NWrV6nT7KuBgCRGDdA1SaCrAiklL2Lsr7/+eohrddxzzz3hhRdeCKNHjw577rln2GijjcJrr72W/Qf/f//v/x3ioqTx7SqxHpMYhx12WDjqqKO62n3nEyBAgAABAgQIEKiqwA9/+MPwy1/+Mmtz0qRJ4Ywzzqhq+xrrWEASo2MbRwgQKCHw1FNPhcsuuyzcdtttYeXKlWHq1Klh//33D1tttVXo3r179kTGqFGjsv0xiRGz1ldffXWIU07iJolRAtUuAgQIECBAgACBpASmTZsWnnnmmSym+A94khjpDI8kRjpjIRICyQs8/fTTWXLijjvuCH369AkXXHBBNm2k5eN1PXr0yJ7KmDJlSjjllFNCz549s+RF7Nz666+ffB8FSIAAAQIECBAgQCA+CV1IYqT2VHTeR0cSI++/AP0n0EmBuXPnhrPPPjv89re/zZ62+NrXvhY+97nPdTg/cNy4cWHw4MHhwQcfLLYQ1/dQCBAgQIAAAQIECKQucO6554abbropCzNOiVbSEZDESGcsREIgWYE4DeTiiy8Ov/nNb7IExh577BG+8IUvZE9jdBR0fAIjnldIYsQFPT/+8Y93dLr9BAgQIECAAAECBJIRiIt5xkXpY/nwhz+cTFwCCUESw6+AAIE1Ctx8883h2muvLU4L+dKXvhQ233zzNV4XV3UulPjGkrhuhkKAAAECBAgQIEAgdYH4D3DDhg1LPcxcxtctl73WaQIEOi3w6quvhu9+97vZG0niRfF1r+PHj1/j9fEVrDNmzCieN2bMmGx9jOIOFQIECBAgQIAAAQIECHRRwJMYXQRzOoFqCyxZsiTcf//9WbP77LNPWG+99aoaQnwKY+bMmcU2J0yYEDbccMPi944qr7zySnExpHjOfvvt19Gp9hMgQIAAAQIECBAgQKBTApIYnWJyEoHaCfzoRz9q9Y7q+NaPapU4HSS2H1+lWigTJ04sVFf7+be//S3EBEws3bp1sx7GarUcJECAAAECBAgQIECgMwKSGJ1Rcg6BGgr85Cc/KT7REKd2VDOJ8eijj4a///3vxd7Ht4189KMfLX5fXeXee+8tHo7zCQsLIxV3qhAgQIAAAQIECBAgQKCLAtbE6CKY0wlUWyAmDgqlZb2wr5Kfd955Z1ixYkWxibiuRb9+/YrfO6rE9TD+9Kc/FQ/H69ZZZ53idxUCBAgQIECAAAECBAisjYAnMdZGzTUEqijwrW99q9V0kio23SoREdvt7CtS586dG5599tliqHEtD4UAAQIECBAgQIAAAQIfVEAS44MKup5AhQXigpjxjSCxVPs1T7Nnz27Vuz333LPV946+xPUw3nvvvexwfD3VXnvt1dGp9hMgQIAAAQIECBBITmDZsmUh/pk2ltGjR3uqOKERksRIaDCEQqCUQEwC1GI9iZiEiGtwFEqcRrLtttsWvq72s+V6GJtuumkxCVO46K233sqmqfTv37+wyycBAgQIECBAgACBZASmTZsWfvGLX2TxHH744eHUU09NJra8ByKJkfdfgP4T6EAgrmvRcj2MoUOHdmo9jPgmk5brYcTMddvXwl5zzTXZvY455pgOWrebAAECBAgQIECAQO0E/uM//iM89dRTWQD/+Mc/JDFqNxTtWrawZzsSOwgQiALrrrtu+NCHPlTEiEmMzpQXXnghPPfcc8VTx44dW6zHSkxyxMz2a6+91mq/LwQIECBAgAABAgRSEWj5xHDLeirx5TkOT2LkefT1ncBqBLp16xa22mqrsHDhwuysAQMGrObs9w/deuutYenSpcUdbRf1fP7558PTTz8d9t577+I5KgQIECBAgAABAgRSEoiL6//85z/PQjriiCNSCi33sUhi5P4nAIBAxwK77rpr+Mtf/pKdsGTJko5P/P9HHnnkkXDllVcWz1t//fWzREhxx6rK7373uzBo0KCw3XbbtdytToAAAQIECBAgQCAZgQMOOKC4rtuIESOSiUsgIZhO4ldAgECHApMnTw4xERHLrFmzWq2R0faiOGfw3HPPDcuXLy8e2njjjUOvXr2K3+OxG2+8MRx44IGhd+/exf0qBAgQIECAAAECBFISiE8lb7PNNtkW60o6AkYjnbEQCYHkBOKTGIcddlgWV1zn4sEHHywZ43/9139lCYwNN9wwnHPOOaF79+7ZeS2nlcQdf/jDH0J8bevnPve5kvexkwABAgQIECBAgAABAqsTkMRYnY5jBBIQiO+o/vOf/5xtsV7N0qNHj/DVr341TJgwIcS2zzvvvPDYY49l9RjHiy++GH7605+G888/P3ti4xvf+EY49NBDw6RJk7Iw//u//zvMmTMnW8zz4YcfDhdeeGE49thjw84771zNbmiLAAECBAgQIECAAIEGEbAmRoMMpG40rkBcY6LlokJf/OIXq9rZHXfcMcSFjeLbSe66666sPnz48BATHHHRz/i2kb322iscfPDBYeutt85imzp1anY8LvIZExvDhg0LzzzzTNh0003Dl7/85dCzZ8+q9kFjBAgQIECAAAECBAg0hkBT86rSGF3Ri2oLrDh2fLWbTLK97lffUdG4tt9++/Dkk09mbcTFMJ944omKttfRzefOnRtmzJiRJS7eeuut7LR+/fpl8wTHjBnTbo2LuEZGXBQ0Po0RS9++fcPHP/7xsNNOO2Xf/Q8BAgQIECBAgEDXBPz5O4RK/9m7ayPi7FoIeBKjFuraJNAFgcLCmvGSlvUu3KIspw4ZMiTELeY933nnneyecXHOpqamkvffdtttQ9ziW03igp5xgc/CWhklL7CTAAECBAgQIECAAAECaxCQxFgDkMMEai1w9tlnt5pOUut4YtKiT58+nQ5jvfXW6/S5TiRAgAABAgQIECBAgMDqBCQxVqfjGIEEBMaPHx+22mqrLJLCmhMJhCUEAgQIECBAgAABAg0rsGLFihAXpo8lLkrvieJ0hloSI52xEAmBkgLxvdRxWoZCgAABAgQIECBAgEB1BK655powffr0rLHJkyeH448/vjoNa2WNApIYayRyAgECBAgQIECAAAECBAjkSeCyyy4Ljz/+eNbl+fPnS2IkNPjdEopFKAQIECBAgAABAgQIECBAoOYC66yzTjGGlvXiTpWaCXgSo2b0GiZAgAABAgQIECBAgACBFAXOOuuscOONN2ahffazn00xxNzGJImR26HXcQIECBAgQIAAAQIECBAoJTBhwoTi4vrbb799qVPsq5GAJEaN4DVLgAABAgQIECBAgAABAmkK9OjRI4wcOTLN4HIelTUxcv4D0H0CBAgQIECAAAECBAgQIFAvAp7EqJeREmduBeI7qh999NGs/6NGjfKO6tz+EnScAAECBAgQIECAAAFJDL8BAokLXHfddeHnP/95FuURRxwRjj322MQjFh4BAgQIECBAgAABAgQqIyCJURlXdyVQNoFLL700zJw5M7vfyy+/LIlRNlk3IkCAAAECBAgQIECg3gSsiVFvIybe3Al079692OeW9eJOFQIECBAgQIAAAQIECOREwJMYORlo3axfgalTp3pHdf0On8gJECBAgAABAgQIECijgCRGGTHdikAlBA455JDiO6p33HHHSjThngQIECBAgAABAgQItBBobm4Os2bNyvbssMMOoampqcVR1VoKSGLUUl/bBDohEN9RHd9KohAgQIAAAQIECBAgUB2BuLD+9OnTs8YmT54c4qakISCJkcY4iIIAAQIECBAgQIAAAQIEEhG4+OKLw0MPPZRFM2/ePEmMRMYlhmFhz4QGQygECBAgQIAAAQIECBAgUHuBpUuXFoNoWS/uVKmZgCcxakZf/w037bhz/XdCDwgQIECAAAECBAgQINBG4Bvf+Ea44YYbsr1HHnlkm6O+1lJAEqOW+nXedtMh/s9c50MofAIECBAgQIAAAQIESghMmjSpuLj+Rz/60RJn2FUrAUmMWsk3QLtNI7ZvgF7oAgECBAgQIECAAAECBFoLrLvuumGPPfZovdO3JASsiZHEMAiCAAECBAgQIECAAAECBAgQWJOAJMaahBwnQIAAAQIECBAgQIAAAQIEkhCQxEhiGARBgAABAgQIECBAgAABAgQIrEnAmhhrEnKcAAECBAgQIECAAAECCQg07WCByQSGQQg1FmhqXlVqHIPmCRAgQIAAAQIECBAgQGANAs3PPLGGMxr/sJcLNP4Yr6mHkhhrEnKcAAECBAgQIECAAAECBAgQSELAmhhJDIMgCBAgQIAAAQIECBAgQCAlgTlz5oS4KWkJWBMjrfEQDQECBAgQIECAAAECBAjUWOA3v/lNmD59ehbF5MmTw8EHH1zjiDRfEDCdpCDhkwABAgQIECBAgAABAgQIrBIYM2ZM+Nvf/pZZjB49Ovz1r3/lkoiA6SSJDIQwCBAgQIAAAQIECBAgQCANgTfeeKMYSMt6cadKzQRMJ6kZvYYJECBAgAABAgQIECBAIEWBKVOmhOuvvz4L7aijjkoxxNzGZDpJbodexwkQIECAAAECBAgQIECglMC7774bHnzwwezQ7rvvHnr16lXqNPtqICCJUQN0TRIgQIAAAQIECBAgQIAAAQJdF7AmRtfNXEGAAAECBAgQIECAAAECBAjUQMCaGDVA1yQBAgQIECBAgAABAgS6KvCfLzV39ZKGO3/voU0N1ycd6pqAJEbXvJxNgAABAgQIECBAgACBmghc8reVNWk3pUb3Hto9pXDEUgMBSYwaoGuSAAECBAgQIECAAAECXRWY8bInMbpq5vzGE7AmRuONqR4RIECAAAECBAgQIECAAIGGFJDEaMhh1SkCBAgQIECAAAECBAgQINB4ApIYjTemekSAAAECBAgQIECAAAECH1DglVdeCXFT0hKwJkZa4yEaAgQIECBAgAABAgQIEKixwO9///vwi1/8Iovi8MMPDwcccECNI9J8QUASoyDhkwABAgQIECBAgAABAgQIrBL47ne/G+69997M4vnnn5fESOhXYTpJQoMhFAIECBAgQIAAAQIECBCovcC8efOKQbSsF3eq1EzAkxg1o9cwAQIECBAgQIAAAQIECKQo8KUvfSlcf/31WWhHHXVUiiHmNiZJjNwOvY4TIECAAAECBAgQIECAQCmB4447LowYMSI7tNdee5U6xb4aCUhi1AheswQIECBAgAABAgQIECCQpkC/fv3Cpz71qTSDy3lU1sTI+Q9A9wkQIECAAAECBAgQIECAQL0ISGLUy0iJkwABAgQIECBAgAABAgQI5FxAEiPnPwDdJ0CAAAECBAgQIECAAAEC9SIgiVEvIyVOAgQIECBAgAABAgQIECCQcwFJjJz/AHSfAAECBAgQIECAAAECBAjUi4AkRr2MlDgJECBAgAABAgQIECBAgEDOBSQxcv4D0H0CBAgQIECAAAECBAgQaC/w6quvhrgpaQn0SCsc0RAgQIAAAQIECBAgQIAAgdoK3H///eGXv/xlFsSkSZPCPvvsU9uAtF4UkMQoUqgQIECAAAECBAgQIECAAIEQLrroonDnnXdmFHPmzJHESOhHYTpJQoMhFAIECBAgQIAAAQIECBCovcBTTz1VDKJlvbhTpWYCnsSoGb2GCRAgQIAAAQIECBAgQCBFgS984QvhhhtuyEI78sgjUwwxtzFJYuR26HWcAAECBAgQIECAAAECBEoJnHzyyWHEiBHZoX333bfUKfbVSKCpeVWpUduaJUCAAAECBAgQIECAAIFOCgy+dHknz2zc0+ZP8e/wjTu6neuZNTE65+QsAgQIECBAgAABAgQIECBAoMYCkhg1HgDNEyBAgAABAgQIECBAgAABAp0TkMTonJOzCBAgQIAAAQIECBAgQIAAgRoLSGLUeAA0T4AAAQIECBAgQIAAAQIECHROQBKjc07OIkCAAAECBAgQIECAAAECBGosIIlR4wHQPAECBAgQIECAAAECBAgQINA5AUmMzjk5iwABAgQIECBAgAABAgRyJLB48eIQNyUtAS/ZTWs8REOAAAECBAgQIECAAAECNRaYMWNG+NWvfpVFMXHixLDHHnvUOCLNFwQkMQoSPgkQIECAAAECBAgQIECAwCqB//N//k8xifHMM8+Em2++mUsiApIYiQyEMAgQIECAAAECBAgQIEAgDYGHHnooNDc3Z8HEupKOgDUx0hkLkRAgQIAAAQIECBAgQIBAAgLHHXdc2HrrrbMt1pV0BDyJkc5YiIQAAQIECBAgQIAAAQIEEhA45ZRTwogRI7JIxo0bl0BEQigINK16ROZ/npEp7PFJgAABAgQIECBAgAABAskJDL50eXIxVTug+VP8O3y1zVNrz3SS1EZEPAQIECBAgAABAgQIECBAgEBJAUmMkix2EiBAgAABAgQIECBAgAABAqkJSGKkNiLiIUCAAAECBAgQIECAAAECBEoKSGKUZLGTAAECBAgQIECAAAECBAgQSE1AEiO1EREPAQIECBAgQIAAAQIECBAgUFJAEqMki50ECBAgQIAAAQIECBAgQIBAagKSGKmNiHgIECBAgAABAgQIECBAoOYCS5cuDXFT0hLwkt20xkM0BAgQIECAAAECBAgQIFBjgcceeyzceuutWRQTJkwIH/nIR2ockeYLApIYBQmfBAgQIECAAAECBAgQIEBglcD3vve9MH369Mzi6aefDtdddx2XRAQkMRIZCGEQIECAAAECBAgQIECAQBoC999/f1ixYkUWTKwr6QhYEyOdsRAJAQIECBAgQIAAAQIECCQgMHny5DB06NBsi3UlHQFPYqQzFiIhQIAAAQIECBAgQIAAgQQEvvKVr4QRI0ZkkYwfPz6BiIRQEGhqXlUKX3wSIECAAAECBAgQIECAQJoCgy9dnmZgVYxq/hT/Dl9F7iSbMp0kyWERFAECBAgQIECAAAECBAgQINBWQBKjrYjvBAgQIECAAAECBAgQIECAQJICkhhJDougCBAgQIAAAQIECBAgQIAAgbYCkhht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R4YOHRpiQqKzJSY8evfuHe68884wfvz4Tl326U9/Otxxxx3tzj300EPDr371q3b7W+548MEHw2677dZyV9Xr/vZVdXINEiBAgAABAgQIECBAgEDKAnFaRXwqIZbhw4dXbQrFpz71qbBo0aKs3f/6r/8K8+bNy+ot/2fXXXcNQ4YMyXbFJzZiiU9HTJw4MasvXbo0S2rEJygKJZ4XkxfrrLNO2HnnnQu7W33uscce2XSSOK1kxowZ4Z133sn6vcsuu4QBAwZk12644YatrqnFF09i1EK9gdr0JEYInsRooB+0rhAgQIAAAQIEEhbwJEYI1XoS45577glXX3119ms49thjwyc/+cmq/zLOOuuscMEFF7Rr99vf/nb41re+1W5/Ycdbb70VRo0aVUzCxP0xeRGfooj7V1fefffd8NJLL4V99903zJ8/P4wcOTJMmzYtbLfddqFPnz7ZVJPVXV+NY92q0Yg2CBAgQIAAAQIECBAgQIBAvQhMnTo1XHfdddkW67UoRx55ZOjbt2+7pqdPnx5ioqKjEhffPOKII1odjutZXHXVVa32lfrSq1ev7GmM119/PTsc35QYn9BYf/31k0hgxKAkMUqNnH0ECBAgQIAAAQIECBAgkFuBf/7zn8W+ry5hUDypApUddtghfOxjH2t35yeffDLcf//97fa33BGnnLQtceHPV199te3udt/jEyhLliwJAwcODHGdjNSKJEZqIyIeAm0E4ny82bNnZ1usKwQIECBAgAABAgQIVFbg1FNPzZ5AiE8hnHLKKZVtbDV3P/HEE7O3k7Q95corr8zeNNJ2f+H7Aw88UKgWP+P6Grfffnvxe6nKa6+9Fn75y19mhw466KCw6aabljqtpvss7FlTfo0TWLNAzLIWHv067rjjwn777bfmi5xBgAABAgQIECBAgMBaC5x22mlZEiPeoJZv4zjggAPCsGHDWq1vEWO6++67wwsvvBC23HLL+LVViVNBbrrpplb7Cl/i3ysmT54c1l133cKuVp+///3vs/vG4/HvHikWT2KkOCpiItBC4Jvf/Ga49tprsy3WFQIECBAgQIAAAQIEKivQ1NQUdt9992yL9VqVuCbGUUcd1a75+AaR66+/vt3+uOOuu+4Kzz//fJao2GyzzVqd8+c//zk88cQTrfYVvsR1M376059mX3faaacwZsyYwqGkPiUxkhoO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AAECBAgQIECgQgKSGBWCdVsC5RI466yzivPxDjjggHLd1n0IECBAgAABAgQIECBQdwKSGHU3ZGkF/OH+TWkF1IDRxPl4EyZMaMCe6RIBAgQIECBAgAABAgS6JiCJ0TUvZ7cROGO0ZVXakPhKgAABAgQIECBAgAABAhUSkMSoEGxebnvYdp7EyMtY6ycBAgQIECBAgAABAgRqLSCJUesR0D4BAgQIECBAgAABAgQIJCXQ3NwcFi1alMU0cODA0NTkH29TGSBJjFRGQhwECBAgQIAAAQIECBAgkITArFmzwi233JLFcuihh4Ydd9wxibgEEYIkhl8BAQIECBAgQIAAAQIE6kFgvc3rIcqGiPGb3/xmuP3227O+PKgiNU4AAC31SURBVPjgg+G2225riH41QickMRphFPWBAAECBAgQIECAAIGGF2ga9q8N38dUOvjYY48VQ2lZL+5UqZmAJEbN6DVMgAABAgQIECBAgACBzgs0DTqo8yc78wMJTJ48Ofz617/O7nHIIYd8oHu5uLwCTasWLGku7y3djQABAgQIECBAgAABAgQI1K/AO++8E37zm99kHTj44IND796967czDRa5JEaDDajuECBAgAABAgQIECBAgACBRhXo1qgd0y8CBAgQIECAAAECBAgQIECgsQQkMRprPPWGAAECBAgQIECAAAECBAg0rIAkRsMOrY4RIECAAAECBAgQIECAAIHGEpDEaKzx1BsCBAgQIECAAAECBAgQINCwApIYDTu0OkaAAAECBAgQIECAAAECBBpLQBKjscZTbwgQIECAAAECBAgQIECAQMMK9GjYnukYAQIECBAgQIAAAQIEGklgycuN1Ju168t6m63ddWtx1RtvvJFd1b9//7W42iWVEpDEqJSs+xIgQIAAAQIECBAgQKCMAs0v/LiMd6vPWzVte15VAn/mmWfC7bffnrV14IEHhhEjRlSlXY2sWaCpeVVZ82nOIECAAAECBAgQIECAAIFaCqy8b2Qtm0+i7W5jZ1YljkmTJoWbbropa+uwww4Lv/zlL6vSrkbWLGBNjDUbOYMAAQIECBAgQIAAAQIEciTw17/+tdjblvXiTpWaCUhi1IxewwQIECBAgAABAgQIECCQosDEiRPD0KFDsy3WlXQErImRzliIhAABAgQIECBAgAABAgQSEDj//PPDyJH/M33niCOOSCAi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BAgQIFBZgcsuuyyMHTs222JdSUegqXlVSSec2kay8r6RtQ0ggda7jZ3Z6Sh4hdAVr07Dtjlx6NChYe7cudneIUOGhJdeeqnNGb4SIECAAAECBAjkQcCfv6vz5+88/JbquY+exKjn0RN7LgQGDhwYunfvnm2xrhAgQIAAAQIECBAgQCCvApIYeR15/a4bge9973th9913z7aLL764buIWKAECBAgQIECAAAECBMotYGHPcou6H4EyC3ziE58IcVMIECBAgAABAgQIECCQdwFPYuT9F6D/BAgQIECAAAECBAgQIECgTgQkMepkoIRJgAABAgQIECBAgAABAgTyLiCJkfdfgP4TIECAAAECBAgQIECAAIE6EZDEqJOBEiYBAgQIECBAgAABAgQIEMi7gIU98/4L0H8CBAgQIECAAAECBAgQaCXwzjvvhH/84x/Zvo033jj07t271XFfaifgSYza2WuZAAECBAgQIECAAAECBBIUuOWWW8LHP/7xbPvVr36VYIT5DUkSI79jr+cECBAgQIAAAQIECBAgUEJg6tSp4aWXXsq2M888s8QZdtVKQBKjVvLaJdBJgSVLloS5c+dmW6wrBAgQIECAAAECBAhUVmCjjTYK3bt3z7ZYV9IRkMRIZyxEQqCkwB133BE+9alPZVusKwQIECBAgAABAgQIVFbg4osvDrvssku2XXLJJZVtzN27JNDUvKp06YoGPnnlfSMbuHed61q3sTM7d+Kqs3iF0BWvTsO2OXH48OHh+eefz/ZuscUW4bnnnmtzhq8ECBAgQIAAAQJ5EPDn7+r8+TsPv6V67qO3k9Tz6Ik9FwK9evUK3br9z0NTsa4QIECAAAECBAgQIEAgrwKmk+R15PW7bgQuuuiisP3222dbrCsECBAgQIAAAQIECBDIq4AnMfI68vpdNwIHHXRQGD9+fBZvXFxIIUCAAAECBAgQIECAQF4FJDHyOvL6XVcCkhd1NVyCJUCAAAECBAgQIECgQgKmk1QI1m0JECBAgAABAgQIECBAgACB8gpIYpTX090IECBAgAABAgQIECBAgACBCglIYlQI1m0JECBAgAABAgQIECBAgACB8gpYE6O8nu5GgAABAgQIECBAgAABAnUusGTJkvDqq69mvRgwYEBYb7316rxHjRO+JzEaZyz1hAABAgQIECBAgAABAgTKIPC73/0uHHDAAdkW60o6ApIY6YyFSAgQIECAAAECBAgQIEAgAYEpU6aEWbNmZVusK+kImE6SzliIhEBJgaVLl4bXXnstO7bRRhuFddddt+R5dhIgQIAAAQIECBAgUB6Bnj17hqampuxmsa6kI+BJjHTGQiQESgrce++94ZBDDgkTJ04Msa4QIECAAAECBAgQIFBZge9+97th2223zbZYV9IRaGpeVdIJp7aRrLxvZG0DSKD1bmNndjoKXiF0xavTsG1O3HrrrcMzzzyT7R0xYkSYPXt2mzN8JUCAAAECBAgQyIOAP39X58/fhd/S8uXLs2qPHiYwFExS+DQaKYyCGAisRmDlypXFR9liXSFAgAABAgQIECBAoPICkheVN16bFkwnWRs11xCoosB5550Xtthii2yLdYUAAQIECBAgQIAAAQJ5FfAkRl5HXr/rRmDy5MnhoIMOyuLt06dP3cQtUAIECBAgQIAAAQIECJRbQBKj3KLuR6ACApIXFUB1SwIECBAgQIAAAQIE6k7AdJK6GzIBEyBAgAABAgQIECBAgACBfApIYuRz3PWaAAECBAgQIECAAAECBAjUnYAkRt0NmYAJECBAgAABAgQIECBAgEA+BayJkc9x12sCBAgQIECAAAECBAgQ6EBg6dKl4Y033siO9u/fP6y77rodnGl3tQU8iVFtce0RIECAAAECBAgQIECAQNICf/rTn8LBBx8cDjnkkBDrSjoCnsRIZyxEQoAAAQIECBAgQIAAAQIJCJx22mlh9uzZWSSx/vTTTycQlRCigCSG3wGBxAWWLVsW/vnPf2ZRrr/++mGdddZJPGLhESBAgAABAgQIEKhvgeXLl4empqasE7GupCNgOkk6YyESAiUFZsyYET772c9mW6ynWpqbm8PKlStD/OxqWZtrutqG8wkQIECAAAECBAh0VuC8884LQ4cOzbZYV9IR8CRGOmMhEgIlBb74xS+GWbNmZcdeeeWV8Pe//73kedXYGZMN8cmQ9957L8TFjmJWOiYu4rZkyZLse1z0qGfPnqFHjx7ZAkixvt566xUz2W3jjPdasGBB6N27d/jQhz7U9rDvBAgQIECAAAECBKouEP8RccKECVm7ffr0qXr7GuxYQBKjYxtHCCQh8NZbbxXjaFkv7qxCJSYsFi9enG2PPPJIeOCBB7Jt7ty54fXXX89Wbo6JjEKJCYzhw4eH3XbbLYwePToceOCBYaONNgp9+/YN3bq9/wDYO++8E2699dZw8sknh5122in85S9/KdzCJwECBAgQIECAAIGaCkhe1JS/w8YlMTqkcYBAGgLnnHNOOPfcc7NgvvWtb1U1qHfffTdLXPz5z38O06ZNC/fff3+IiYdCifME4xod8SmKmLiI3+MWn9CICY7nnnsuXH/99SHGfdRRR4X4VMkWW2wRevXqld33qquuCl/96lez81966aXCbX0SIECAAAECBAgQIECgpEDTqsfDuz6BveSt6n/nyvtG1n8nPmAPuo2d2ek78AqhK16dhi1x4j/+8Y9s78Ybb1ziaPl3xacq4nuxb7nllvDjH/84PPzww60aiYmLmJmO78zecccdw0c/+tGw5ZZbhrjwaJxO8uyzz4Ynn3wy22I93ismPwYOHBguvPDC7HVV//Zv/xbOP//84hoam222WZg3b16rdnwhQIAAAQIECBB4X8Cfv6v35+/31dVSE/AkRmojIh4CJQSqlbyITcc1KuITFF/+8pfDPffc0yqaOBUkJi5i0uL4448P//Iv/5Ktd9HqpDZfYgImJituvPHGLJlx0kknhR/84Ac1XdujTYi+EiBAgAABAgQIECBQJwLvT06vk4CFSYBA5QTi4py33XZb2HfffdslMOITFttss02YPn16dixOD4kLdq6pxARMTFrcfvvtYezYsdmin7VcnHRN8TpOgAABAgQIECBAgEC6ApIY6Y6NyAhUVSAu3hmfljjiiCPCwoULW7Ud3zCy//77Z8mLcePGtTrW2S9xkc8777wzTJw4MVs/o7PXOY8AAQIECBAgQIAAAQIFAUmMgoRPAjkWiAtx3n333eGUU04JK1asaCURF+r8zGc+k62Psemmm7Y61tUv3bt3Dz/5yU/CqFGjOnzlalfv6XwCBAgQIECAAAECBPIjYE2MlmPdvXfLb+prEuC1JqG6OT5z5sxw9NFHhzidpG0ZPHhwNh0kLuZZjrLBBhuEa665Juy3335hwYIF5bilexAgQIAAAQIECBAoq0D8R7633noru2e/fv08SVxW3Q92M0mMFn5Nw/61xTfVNQnwWpNQfRyPC3meccYZ4fXXX28XcHxyIr5NJL45pJxlu+22CxdccEE44YQTim8nKef93YsAAQIECBAgQIDABxF48MEHw7e//e3sFueee24YM2bMB7mda8so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H84TVJQsApoYWRgFIdCcwJ49e1rB28etBw0IECBAgAABAgQIEMgq0NvbGwYHB7PGFCyPgMtJ8jiKQqAxgdgBnjNnTtqnusGNHUxgAgQIECBAgAABAgQIdLGAMzG6uDhSIxAF3nzzzTB1Cttjjz0GhQABAgQIECBAgAABAtUKaGJUW3oTL0Wgr68v3eKplHzlSYAAAQIECBAgQIAAgaYEXE7SlKy4BAgQIECAAAECBAgQIECAQFYBTYysnIIRIECAAAECBAgQIECAAAECTQloYjQlKy4BAgQIECBAgAABAgQIECCQVUATIyunYAQIECBAgAABAgQIECAwGwQmJiZC3G3dJWBhz+6qh2wIECBAgAABAgQIECBAoMMCx48fT3cJjGmMjIyEefPmdTgjh58S0MSYkvCTAAECBAgQIECAAAECBAj8JbBy5cqwffv2ZPHhhx+G999/n0uXCLicpEsKIQ0CFxKYnJwMcbcRIECAAAECBAgQINC8wMcff9w6SPu49aBBxwQ0MTpG78AEpidw4sSJsHXr1rTHsY0AAQIECBAgQIAAgWYFli5dGq666qq0x7GtewRcTtI9tZAJgXMKPPHEE2FsbCw9t3PnzrBt27Zzvs6DBAgQIECAAAECBAjkEXjrrbfCkiVLUrChoaE8QUXJIqCJkYVREALNCezYsaMVvH3cetCAAAECBAgQIECAAIGsAn19fWF4eDhrTMHyCLicJI+jKAQaE1i0aFHo7e1N++LFixs7jsAECBAgQIAAAQIECBDodgFnYnR7heRXvcA777xz1u2dqgcBQIAAAQIECBAgQIBAtQKaGNWW3sRLERgYGAirV68uJV15EiBAgAABAgQIECBAoDEBl5M0RiswAQIECBAgQIAAAQIECBAgkFPAmRhnafac9ZtfLibA62JCnidAgAABAgQIECBAgACBfAKaGG2WPbc82fab4cUEeF1MyPMECBAgQIAAAQIECBAgkFOgZ/KvLWdAsQgQIECAAAECBAgQIEAgv8DEf2/PH7SwiL3//l9hGUs3t4AzMXKLikeAAAECBAgQIECAAAECRQucOnUqjI2NpTkMDQ2F/v7+ouczm5LXxJhN1TQXAgQIECBAgAABAgQIELhsgVWrVoVt27alODt27AjvvvvuZccUII+Ay0nyOIpCgAABAgQIECBAgACBRgVcThLClbqcZP78+eH48eOpnvPmzQu//vpro7UVfPoCbrE6fSuvJECAAAECBAgQIECAAIEKBB588MHWLBctWtQaG3RewOUkna+BDAgQIECAAAECBAgQIECgiwTi5SNbtmxJGY2OjnZRZlJxOYnPAAECBAgQIECAAAECBAoQcDnJlbucpICPQ7Upupyk2tKbOAECBAgQIECAAAECBAgQKEtAE6OsesmWAAECBAgQIECAAAECBAhUK2BNjGpLb+IECBAgQIAAAQIECJQk0HPLkyWlK1cCjQhYE6MRVkEJECBAgAABAgQIECCQW2Ayd8AC4/UUmLOUcwo4EyOnplgECBAgQIAAAQIECBBoTMA/4BujFbgYAWtiFFMqiRIgQIAAAQIECBAgQIAAgboFNDHqrr/ZEyBAgAABAgQIECBAgACBYgQ0MYoplUQJECBAgAABAgQIECBAgEDdApoYddff7AkQIECAAAECBAgQIECAQDECmhjFlEqiBAgQIECAAAECBAgQIECgbgFNjLrrb/YECBAgQIAAAQIECBAgQKAYAU2MYkolUQIECBAgQIAAAQIECBAgULeAJkbd9Td7AgQIECBAgAABAgQIECBQjIAmRjGlkigBAgQIECBAgAABAgQIEKhbQBOj7vqbPQECBAgQIECAAAECBAgQKEZAE6OYUkmUAAECBAgQIECAAAECBAjULaCJUXf9zZ4AAQIECBAgQIAAAQIECBQjoIlRTKkkSoAAAQIECBAgQIAAAQIE6hbQxKi7/mZPgAABAgQIECBAgAABAgSKEdDEKKZUEiVAgAABAgQIECBAgAABAnULaGLUXX+zJ0CAAAECBAgQIECAAAECxQhoYhRTKokSIECAAAECBAgQIECAAIG6BTQx6q6/2RMgQIAAAQIECBAgQIAAgWIENDGKKZVECRAgQIAAAQIECBAgQIBA3QKaGHXX3+wJECBAgAABAgQIECBAgEAxApoYxZRKogQIECBAgAABAgQIECBAoG4BTYy662/2BAgQIECAAAECBAgQIECgGAFNjGJKJVECBAgQIECAAAECBAgQIFC3gCZG3fU3ewIECBAgQIAAAQIECBAgUIyAJkYxpZIoAQIECBAgQIAAAQIECBCoW0ATo+76mz0BAgQIECBAgAABAgQIEChGQBOjmFJJlAABAgQIECBAgAABAgQI1C2giVF3/c2eAAECBAgQIECAAAECBAgUI6CJUUypJEqAAAECBAgQIECAAAECBOoW0MSou/5mT4AAAQIECBAgQIAAAQIEihHQxCimVBIlQIAAAQIECBAgQIAAAQJ1C2hi1F1/sydAgAABAgQIECBAgAABAsUIaGIUUyqJEiBAgAABAgQIECBAgACBugU0Mequv9kTIECAAAECBAgQIECAAIFiBDQxiimVRAkQIECAAAECBAgQIECAQN0Cmhh119/sCRAgQIAAAQIECBAgQIBAMQKaGMWUSqIECBAgQIAAAQIECBAgQKBuAU2Muutv9gQIECBAgAABAgQIECBAoBgBTYxiSiVRAgQIECBAgAABAgQIECBQt4AmRt31N3sCBAgQIECAAAECBAgQIFCMgCZGMaWSKAECBAgQIECAAAECBAgQqFtAE6Pu+ps9AQIECBAgQIAAAQIECBAoRkATo5hSSZQAAQIECBAgQIAAAQIECNQt8H/YgQFObWrV1QAAAABJRU5ErkJggg==",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "execution_count": 32,
     "metadata": {
      "image/png": {
       "width": 400
      }
     },
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Image(image_path_1, width=400)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "g4blUOABST3I"
   },
   "source": [
    "<figure>\n",
    "<figcaption>   \n",
    "<strong>Figure 2:</strong> <em> A figurative illustration of function flattening using the current example.\n",
    "</em>  </figcaption> \n",
    "</figure>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "pcLTo_4WST3I"
   },
   "source": [
    "Below we define a `Python` version of the function defined above.  Note here that the input to this implementation is a list of the functions input variables (or weights)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "id": "jOwXF3PvST3I"
   },
   "outputs": [],
   "source": [
    "# Python implementation of the function above\n",
    "\n",
    "z = np.ones((2,1))\n",
    "\n",
    "def f(input_weights):\n",
    "    a = input_weights[0]\n",
    "    b = input_weights[1]\n",
    "    C = input_weights[2]\n",
    "    return (((a + np.dot(z.T,b) + np.dot(np.dot(z.T,C),z)))**2)[0][0]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "fHDpxA07ST3I"
   },
   "source": [
    "To flatten a mathematical function scribed in `numpy` and `Python` called `f` - written in such a way that it takes in a single list containing all of its input variables - we then simply call the line below.  Here on the right hand side `weights` is a list of initializations for input variables to the function `f`.  The outputs `g`, `unflatten_func`, and `w` are the flattened version of `f`, a module to unflatten the input weights, and a flattened version of the intitial weights respectively."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {
    "id": "kI60q-VRST3I"
   },
   "outputs": [],
   "source": [
    "N = 2 \n",
    "a = np.random.randn(1,1)\n",
    "b = np.random.randn(N,1)\n",
    "C = np.random.randn(N,N)\n",
    "\n",
    "input_weights = [a,b,C]\n",
    "\n",
    "# flatten an input function g\n",
    "g, unflatten_func, w = flatten_func(f, input_weights)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "fAgZ-yyuST3I"
   },
   "source": [
    "By using the `flatten_func` module as shown above we can then minimize the flattened version of this function properly.  We show a cost function history from one run of gradient descent below - where $15$ steps were taken from a random initialization.  This run reaches a point very near the function's minimum at the origin."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {
    "id": "M_24wEM7ST3J"
   },
   "outputs": [],
   "source": [
    "# gradient descent function - inputs: g (input function), alpha (steplength parameter), max_its (maximum number of iterations), w (initialization)\n",
    "def gradient_descent(g,alpha,max_its,w):\n",
    "    # compute gradient module using autograd\n",
    "    gradient = grad(g)\n",
    "\n",
    "    # run the gradient descent loop\n",
    "    weight_history = [w]           # container for weight history\n",
    "    cost_history = [g(w)]          # container for corresponding cost function history\n",
    "    for k in range(max_its):\n",
    "        # evaluate the gradient, store current weights and cost function value\n",
    "        grad_eval = gradient(w)\n",
    "\n",
    "        # take gradient descent step\n",
    "        w = w - alpha*grad_eval\n",
    "        \n",
    "        # record weight and cost\n",
    "        weight_history.append(w)\n",
    "        cost_history.append(g(w))\n",
    "    return weight_history,cost_history"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 225
    },
    "id": "4N3LpsWGST3J",
    "outputId": "457de5c1-9d58-4f63-bee8-33ce3969fd42"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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KxMRERGp/xrUMm8NxU9+8hNefvnl6DaMmzdvZvDgwXz88cceVyYiIiKSvBSQk9ywYcN44403aNGiBQDbt2/n7LPPZu7cuR5XJiIiIpKcFJBTwNlnn81bb73F0UcfDcCuXbs4//zzmTVrlseViYiIiCQfBeQU0b9/f9577z3at28PhLepvuiii5g+vaIV7kRERESkMgrIKaRXr17MmTOHLl26AFBSUsIVV1zBk08+6XFlIiIiIslDATnFZGdnM2fOHLKzswEoLS3lmmuu4eGHH/a4MhEREZHkoICcgrp06cKcOXPo3bt3tG3s2LHcc889HlYlIiIikhwUkFNU+/bteffddznjjDOibbfffju33XZbg9peUkRERKSqFJBT2NFHH83s2bM555xzom333nsvv/jFLygtLT3MJ0VEREQaLgXkFNeiRQv++c9/ctFFF0XbJk2axKhRo6I78ImIiIjI9xSQG4AmTZrw4osv8tOf/jTaNnXqVK644gr27dvnYWUiIiIi9Y8CcgPh8/l48sknGTNmTLTt5Zdf5qKLLuLbb7/1sDIRERGR+kUBuQFJT0/nkUce4Ve/+lW0bfbs2Zx//vns3LnTu8JERERE6hEF5AbGzLjvvvv405/+FG2bN28eZ599NsFg0MPKREREROoHBeQGyMy44447ePDBB6NtS5YsYeLEiYRCIQ8rExEREfGeAnIDdsstt5Cfn09aWhqTJk3i7rvvxufzEQwGmTdvnkaURUREpEFSQG7gRo8ezYcffsgNN9xAcXExgUCAzMxMBg4cSGZmJoFAgOLiYq/LFBEREUmYDK8LEO/17dsXCG9HXVBQEG0PhUIUFBRgZuTl5XlVnoiIiEhCaQRZAAgGg0ybNq3CY1OnTtV0CxEREWkwFJAFgDVr1lR6g14oFKKoqCjBFYmIiIh4QwFZAMjOzsbn81V4zOfzkZWVBUBpaWkiyxIRERFJOAVkAcDv9zNixIgKj40cORK/309hYSHnnnsuX375ZYKrExEREUkcBWSJys3NJRAIREeSfT4fgUCA3NxcACZOnMi7775L7969eeqpp3DOeVmuiIiISJ0whZz45eTkuEWLFnldRp0LBoMUFRWRlZWF3+8HYMGCBQwYMKDMFIsrr7ySSZMm0aZNG69KFREREak2M1vsnMsp356SI8hmlm9m28xseSXHf2Rm35jZksjjD4musT7z+/0MGDAgGo4B+vXrx9y5cznhhBOibc8//zy9evVi9uzZXpQpIiIiUidSMiADU4ChR+gzxznXJ/K4KwE1Jb0BAwawZMkSrrvuumjb5s2bOf/88xk3bhx79+71sDoRERGR2pGSAdk59z7wb6/rSEUtWrTgscce45VXXikzwvzQQw+Rk5PDJ5984mF1IiIiIjWXkgE5TgPMbKmZvWFmP6isk5mNMbNFZrZIm2V87+KLL2bZsmVceOGF0bYVK1bQv39/7rnnHg4cOOBhdSIiIiLV11AD8sfAcc65U4D/A16urKNzbrJzLsc5lxM7YirQvn17ZsyYweTJk2nWrBkQ3lTk9ttvZ/Dgwaxbt87jCkVERESqrkEGZOfcLufcnsjr1wGfmR3jcVlJycz4r//6L5YuXUr//v2j7R988AG9e/emoKBAy8GJiIhIUmmQAdnMOpiZRV73I3wddnhbVXLLyspi7ty53HXXXaSnpwOwZ88eAoEAl112Gdu3b/e4QhEREZH4pGRANrNngPlAdzPbaGbXmtkNZnZDpMvlwHIzWwo8BFzlNMxZYxkZGfz+979n/vz5nHjiidH2l156iZ49e/L66697WJ2IiIhIfLRRSBU0lI1CasO3337Lr3/9ayZNmlSm/cYbb+T++++nefPmHlUmIiIiEtagNgoR7zVv3py///3vvP7663To0CHaPmnSJE477TQWLFjgYXUiIiIilat3AdnMhpvZRK/rkNpxwQUXsGzZMi699NJo2+rVqznzzDO566672L9/v4fViYiIiByq3gVkoDew1OsipPYcc8wxvPjiixQUFNCyZUsADhw4wJ133smgQYNYs2aNxxWKiIiIfK/WArKZHW1mW83shBqeqjew1MxamdkrZjYmcv5/mNmtNa9UvGBmjBo1iqVLlzJo0KBo+0cffUSfPn2YPHmyloMTERGReqE2R5BvB153zn1ew/P0APYCbwC5zrnJkfa7gN+Z2VE1PL94qFu3brz77rvcc889+Hw+AIqLi7n++uu5+OKL2bp1q8cVioiISENXKwHZzJoB1wF5NTxPUyATeBoY45ybffCYc24ZsBYYUZNfQ7yXnp7ObbfdxkcffUSPHj2i7a+99hq9evVixowZHlYnIiIiDV3cAdnMTjez98xsr5ktN7MzzSxkZj8Cfgw44IOY/qPMzEX6N4q0PR9py4+8b2lm+yNtlwE9Ca9fnAZUdPfWDODqan5XqWdOPfVUFi9ezLhx46JtwWCQ4cOHc91117Fnzx4PqxMREZGGKq6AbGYnAe8AHwGnAbcBzwEZwBLgLGBxuc023ok8N4l8BmBQueczgXTC4fo9wvOP5wCjgafNrEW5UhYA/SIjzZICmjZtysSJE5k1axYdO3aMtufl5XHKKacwf/58D6sTERGRhijeEeSHgNnOud8451Y6514jHIC/cM7tBI4DNsd+wDn3BbA+8nZQ5Oa9Y4FdQLaZtSMcrAGWO+e2Ew7Iy51zHwN/B/LL1bEZ8AEdkZRy3nnnsWzZMq688spo29q1axk0aBC///3vCYVCHlYnIiIiDckRA7KZdQbOI3yTXKx9fL8cW1Pguwo+fnAUeSDfjxof3FptEN8H5HcBnHPjnHOvRl7nOee+T0the2N+PUkxbdq04dlnn2XatGkcdVT4XszS0lL+/Oc/l5mXHAwGmTdvHsFg0KtSRUREJIXFM4J8GuH5wIXl2nsQnl4BsB04uoLPvht5PhiQ9wEPEp5ScQ7QL3L8nUM+WbE2kWcloxRlZvzsZz+jsLCQH/3oRwCMHj2ayy67jOLiYgKBAJmZmQwcOJDMzEwCgQDFxcXeFi0iIiIpJSOOPgcIzxNuBnwL4Rv2CIfev0b6fAKMquCzB4OvH7gCWOSc22JmnwLXEJ6ffHD+cTx6Apucc1oLLMV16dKFt99+m7/97W8MGTIEgLFjx1JQUBDtEwqFKCgowMzIy6vRAioiIiIiUfGMIC8iPPJ7v5mdYGZDgWmRY0siz28CPcysbewHnXMbCC/NBnAU369yMRc4eANeoXPu33HWe1bk15IGIC0tjVtvvZWePXsSDAaZNm1ahf2mTp2q6RYiIiJSa44YkJ1zXxEe7f0x4WkWY4EpQNA5tzbSZxnhFSauquAUsdMn5kae58S0vRtPoWbWBLgUeCye/pJa1qxZU+mNeqFQiKKiogRXJCIiIqkqrlUsnHPPO+e6OueaAxcRnj/8Qrlu/wvcYmbp5T57nXPOIo+DN+A9HdP2yzhrvRb4yDn3YZz9JYVkZ2dHd94rz+fzkZWVBaD5yCIiIlJj8axiMcjMLjez482sL/AU0Af4c2w/59xM4GGgU10UCoSAm+vo3FLP+f1+RoyoeBPFkSNH4vf7KSwspFu3bkycOJHvvqtoURURERGRI4tnBLkDcC+wAphO+Ka9051zm8t3dM49FFn/uNY55yY751bVxbklOeTm5hIIBKIjyT6fj0AgQG5uLgATJ05k27ZtjB8/nqysLB599FFKSkq8LFlERESSkJXd/E4OJycnxy1atMjrMhq8YDBIUVERWVlZ+P1+AFauXMmQIUPYsGFDmb7dunXjzjvv5Gc/+xkZGfEs2iIiIiINhZktds7llG+Pdyc9kXrD7/czYMCAaDgG6NGjB2vWrOH//u//6NChQ7R93bp1jBo1ip49e/Lcc89RWlrqRckiIiKSRBSQJWU0btyYsWPH8vnnn3P//ffTtu33qw6uWrWKq666ilNPPZUZM2ag/zkRERGRyiggS8pp1qwZv/rVr1i3bh1/+tOfottWAxQWFjJ8+HD69+/PrFmzFJRFRETkEArIkrJatmzJHXfcwdq1a7n99ttp3rx59NjChQsZMmQIgwcP5v333/ewShEREalvFJAl5bVp04a7776btWvX8t///d80btw4emzOnDkMHjyY888/n48++sjDKkVERKS+SMmAbGb5ZrbNzJZXctzM7CEzKzKzQjM7LdE1SuK1a9eOBx54gM8//5ybbrqpzMYjs2fP5owzzuDiiy9m6dKlHlYpIiIiXkvJgEx4K+yhhzl+AZAdeYwBJiWgJqknMjMzefjhh1m9ejWjR48mLe37Pwavvvoqffr04Sc/+QkrV670sEoRERHxSkoGZOfc+8C/D9NlOPCkC/sQaG1mxyamOqkvunbtSn5+PitXruTqq6/GzKLHnn/+eXr27Mk111zD2rVrPaxSREREEi0lA3IcMoHYHSU2RtoOYWZjzGyRmS0KBoMJKU4S68QTT+Tpp59m6dKlXHLJJdH20tJSnnzySbp37871119/yCYkIiIikpoaakCOW2SL6xznXE7sxhSSenr16sVLL73EwoULGTr0+xk6+/fvZ/LkyWRlZTFu3Di++uorD6sUERGRutZQA/ImoHPM+06RNhFycnJ44403oitcHFRSUsJDDz3ECSecwG233caOHTs8rFJERETqSkMNyDOAn0dWszgD+MY5t8XroqR+GTRoEO+88w5vvfUW/fv3j7YXFxdz77330q1bN/74xz/yzTffeFiliIiI1LaUDMhm9gwwH+huZhvN7Fozu8HMboh0eR1YCxQBjwE3eVSq1HNmxrnn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8zAzevToQd++fenXrx99+/ald+/eNG7cOFFfQ0REGoBUDcibgM4x7zvx/c14ADjndsS8fRy4LwF1iUiMg1thVzaCHLsVNoRHoVesWMGKFSt44oknAGjUqBGnnHJKNDD369eP7t27ay1mERGptlQNyAuBbDPrRjgYXwX8NLaDmR3rnNsSeXsxsDKxJYrIwa2wCwoKDjl2cCvsHTt2MGjQIBo3bszy5cspLS0t06+kpISFCxeycOHCaFvLli3JyckpM9LcuXNnzKzOv5OIiCS/lJyDDGBmPwYmEl7mLd85d7eZ3QUscs7NMLN7CAfj/cC/gRudc58d7pxaxUKk9sW7FTbAt99+yyeffMKCBQtYuHAhCxYsYO3atXH9Ou3bty8TmPv27Uvbtm3r4iuJiEiSaFDLvNUVBWSRulOVrbBj7dixIzqCfDA4b926Na7PHn/88WVC82mnnUbz5s0rrE1rNIuIpB4F5FqggCxS/znn2LhxY5lR5kWLFrF79+4jfjYtLY0f/OAHjB8/ntGjR2uNZhGRFKeAXAsUkEWSU2lpKatXry4TmpcsWUJJSUmF/QsLC+nVqxeBQKDC+dGBQIC8vLy6LltEROqYAnItUEAWSR0lJSUUFhaWmZqxYsUKunfvzsqVK+Neo/nXv/41Rx11FN27d+ekk04iOzubJk2aePCNRESkqrQOsohIjEaNGpGTk0NOTg433ngjALt376aoqAiIf43mefPmMW/evOgxM6Nr167RwBz73KFDB62kISKSBBSQRUQiWrZsyamnngpUfY3mg5xzrFu3jnXr1jFz5swyx1q1anVIaD7ppJPIysrSZiciIvWIArKISAXiWaN5z5493HrrrXz22WesWrWKzz77jHXr1h2yVvNBu3btYsGCBSxYsKBMe1paGt26datw1Lldu3ZHHHXWKhsiIrVLc5CrQHOQRRqWqqzRfNC+ffsoKiqKBuaDz5999hm7du2qcg2tW7c+JDj379+fjh07apUNEZEa0k16tUABWaRhqu4azbGcc2zdurVMaD74vH79eqryd7FW2RARqR0KyLVAAVlE6sLevXsrHHVetWrVIes3n3TSSVVaZWP06NGYGZ07d44+unTpQufOnWnRokWivqKISL2kVSxEROqppk2b0qtXL3r16lWm3TnHli1byoTm9PR0IP5VNlavXl1mlY1YrVu3LhOY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",
      "text/plain": [
       "<Figure size 720x216 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# run optimization\n",
    "alpha = 10**(-2)\n",
    "max_its = 15\n",
    "weight_history,cost_history = gradient_descent(g,alpha,max_its,w)\n",
    "section_3_5_helpers.plot_cost_histories([cost_history],start = 0,points = True,labels = ['run 1','run 2'])"
   ]
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "colab": {
   "include_colab_link": true,
   "provenance": []
  },
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.10"
  },
  "toc": {
   "colors": {
    "hover_highlight": "#DAA520",
    "navigate_num": "#000000",
    "navigate_text": "#333333",
    "running_highlight": "#FF0000",
    "selected_highlight": "#FFD700",
    "sidebar_border": "#EEEEEE",
    "wrapper_background": "#FFFFFF"
   },
   "moveMenuLeft": true,
   "nav_menu": {
    "height": "30px",
    "width": "252px"
   },
   "navigate_menu": true,
   "number_sections": false,
   "sideBar": true,
   "threshold": 4,
   "toc_cell": false,
   "toc_section_display": "block",
   "toc_window_display": false,
   "widenNotebook": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
